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;
23 namespace Tizen.NUI.UIComponents
26 /// The slider is a control to enable sliding an indicator between two values.
28 /// <since_tizen> 3 </since_tizen>
29 public class Slider : View
31 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
32 [EditorBrowsable(EditorBrowsableState.Never)]
33 public static readonly BindableProperty LowerBoundProperty = BindableProperty.Create("LowerBound", typeof(float), typeof(Slider), 0.0f, propertyChanged: (bindable, oldValue, newValue) =>
35 var slider = (Slider)bindable;
38 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
41 defaultValueCreator:(bindable) =>
43 var slider = (Slider)bindable;
45 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND).Get(out temp);
48 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
49 [EditorBrowsable(EditorBrowsableState.Never)]
50 public static readonly BindableProperty UpperBoundProperty = BindableProperty.Create("UpperBound", typeof(float), typeof(Slider), 1.0f, propertyChanged: (bindable, oldValue, newValue) =>
52 var slider = (Slider)bindable;
55 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
58 defaultValueCreator:(bindable) =>
60 var slider = (Slider)bindable;
62 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND).Get(out temp);
65 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
66 [EditorBrowsable(EditorBrowsableState.Never)]
67 public static readonly BindableProperty ValueProperty = BindableProperty.Create("Value", typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
69 var slider = (Slider)bindable;
72 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE, new Tizen.NUI.PropertyValue((float)newValue));
75 defaultValueCreator:(bindable) =>
77 var slider = (Slider)bindable;
79 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE).Get(out temp);
82 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
83 [EditorBrowsable(EditorBrowsableState.Never)]
84 public static readonly BindableProperty TrackVisualProperty = BindableProperty.Create("TrackVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
86 var slider = (Slider)bindable;
89 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
92 defaultValueCreator:(bindable) =>
94 var slider = (Slider)bindable;
95 PropertyMap temp = new PropertyMap();
96 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL).Get(temp);
99 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
100 [EditorBrowsable(EditorBrowsableState.Never)]
101 public static readonly BindableProperty HandleVisualProperty = BindableProperty.Create("HandleVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
103 var slider = (Slider)bindable;
104 if (newValue != null)
106 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
109 defaultValueCreator:(bindable) =>
111 var slider = (Slider)bindable;
112 PropertyMap temp = new PropertyMap();
113 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL).Get(temp);
116 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
117 [EditorBrowsable(EditorBrowsableState.Never)]
118 public static readonly BindableProperty ProgressVisualProperty = BindableProperty.Create("ProgressVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
120 var slider = (Slider)bindable;
121 if (newValue != null)
123 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
126 defaultValueCreator:(bindable) =>
128 var slider = (Slider)bindable;
129 PropertyMap temp = new PropertyMap();
130 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL).Get(temp);
133 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
134 [EditorBrowsable(EditorBrowsableState.Never)]
135 public static readonly BindableProperty PopupVisualProperty = BindableProperty.Create("PopupVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
137 var slider = (Slider)bindable;
138 if (newValue != null)
140 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
143 defaultValueCreator:(bindable) =>
145 var slider = (Slider)bindable;
146 PropertyMap temp = new PropertyMap();
147 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL).Get(temp);
150 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
151 [EditorBrowsable(EditorBrowsableState.Never)]
152 public static readonly BindableProperty PopupArrowVisualProperty = BindableProperty.Create("PopupArrowVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
154 var slider = (Slider)bindable;
155 if (newValue != null)
157 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
160 defaultValueCreator:(bindable) =>
162 var slider = (Slider)bindable;
163 PropertyMap temp = new PropertyMap();
164 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
167 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
168 [EditorBrowsable(EditorBrowsableState.Never)]
169 public static readonly BindableProperty DisabledColorProperty = BindableProperty.Create("DisabledColor", typeof(Vector4), typeof(Slider), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
171 var slider = (Slider)bindable;
172 if (newValue != null)
174 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
177 defaultValueCreator:(bindable) =>
179 var slider = (Slider)bindable;
180 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
181 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR).Get(temp);
184 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
185 [EditorBrowsable(EditorBrowsableState.Never)]
186 public static readonly BindableProperty ValuePrecisionProperty = BindableProperty.Create("ValuePrecision", typeof(int), typeof(Slider), default(int), propertyChanged: (bindable, oldValue, newValue) =>
188 var slider = (Slider)bindable;
189 if (newValue != null)
191 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue((int)newValue));
194 defaultValueCreator:(bindable) =>
196 var slider = (Slider)bindable;
198 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION).Get(out temp);
201 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
202 [EditorBrowsable(EditorBrowsableState.Never)]
203 public static readonly BindableProperty ShowPopupProperty = BindableProperty.Create("ShowPopup", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
205 var slider = (Slider)bindable;
206 if (newValue != null)
208 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue((bool)newValue));
211 defaultValueCreator:(bindable) =>
213 var slider = (Slider)bindable;
215 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP).Get(out temp);
218 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
219 [EditorBrowsable(EditorBrowsableState.Never)]
220 public static readonly BindableProperty ShowValueProperty = BindableProperty.Create("ShowValue", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
222 var slider = (Slider)bindable;
223 if (newValue != null)
225 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue((bool)newValue));
228 defaultValueCreator:(bindable) =>
230 var slider = (Slider)bindable;
232 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE).Get(out temp);
235 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
236 [EditorBrowsable(EditorBrowsableState.Never)]
237 public static readonly BindableProperty MarksProperty = BindableProperty.Create("Marks", typeof(PropertyArray), typeof(Slider), new PropertyArray(), propertyChanged: (bindable, oldValue, newValue) =>
239 var slider = (Slider)bindable;
240 if (newValue != null)
242 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARKS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
245 defaultValueCreator:(bindable) =>
247 var slider = (Slider)bindable;
248 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
249 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARKS).Get(temp);
252 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
253 [EditorBrowsable(EditorBrowsableState.Never)]
254 public static readonly BindableProperty MarkToleranceProperty = BindableProperty.Create("MarkTolerance", typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
256 var slider = (Slider)bindable;
257 if (newValue != null)
259 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue((float)newValue));
262 defaultValueCreator:(bindable) =>
264 var slider = (Slider)bindable;
266 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE).Get(out temp);
269 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
270 [EditorBrowsable(EditorBrowsableState.Never)]
271 public static readonly BindableProperty SnapToMarksProperty = BindableProperty.Create("SnapToMarks", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
273 var slider = (Slider)bindable;
274 if (newValue != null)
276 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue((bool)newValue));
279 defaultValueCreator:(bindable) =>
281 var slider = (Slider)bindable;
283 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS).Get(out temp);
287 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
288 private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
289 private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
290 private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
291 private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
292 private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
293 private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
296 /// Creates the slider control.
298 /// <since_tizen> 3 </since_tizen>
299 public Slider() : this(Interop.Slider.Slider_New(), true)
301 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
304 internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.Slider.Slider_SWIGUpcast(cPtr), cMemoryOwn)
306 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
309 internal Slider(Slider handle) : this(Interop.Slider.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
311 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
314 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
315 private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
316 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
317 private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
318 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
319 private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
322 /// An event emitted when the slider value changes.
324 /// <since_tizen> 3 </since_tizen>
325 public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
329 if (_sliderValueChangedEventHandler == null)
331 _sliderValueChangedCallbackDelegate = (OnValueChanged);
332 ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
334 _sliderValueChangedEventHandler += value;
338 _sliderValueChangedEventHandler -= value;
339 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
341 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
347 /// An event emitted when the sliding is finished.
349 /// <since_tizen> 3 </since_tizen>
350 public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
354 if (_sliderSlidingFinishedEventHandler == null)
356 _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
357 SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
359 _sliderSlidingFinishedEventHandler += value;
363 _sliderSlidingFinishedEventHandler -= value;
364 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
366 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
372 /// An event emitted when the slider handle reaches a mark.
374 /// <since_tizen> 3 </since_tizen>
375 public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
379 if (_sliderMarkReachedEventHandler == null)
381 _sliderMarkReachedCallbackDelegate = (OnMarkReached);
382 MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
384 _sliderMarkReachedEventHandler += value;
388 _sliderMarkReachedEventHandler -= value;
389 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
391 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
397 /// The lower bound property.
399 /// <since_tizen> 3 </since_tizen>
400 public float LowerBound
404 return (float)GetValue(LowerBoundProperty);
408 SetValue(LowerBoundProperty, value);
413 /// The upper bound property.
415 /// <since_tizen> 3 </since_tizen>
416 public float UpperBound
420 return (float)GetValue(UpperBoundProperty);
424 SetValue(UpperBoundProperty, value);
429 /// The value property.
431 /// <since_tizen> 3 </since_tizen>
436 return (float)GetValue(ValueProperty);
440 SetValue(ValueProperty, value);
445 /// The track visual property.
447 /// <since_tizen> 3 </since_tizen>
448 public PropertyMap TrackVisual
452 return (PropertyMap)GetValue(TrackVisualProperty);
456 SetValue(TrackVisualProperty, value);
461 /// The handle visual property.
463 /// <since_tizen> 3 </since_tizen>
464 public PropertyMap HandleVisual
468 return (PropertyMap)GetValue(HandleVisualProperty);
472 SetValue(HandleVisualProperty, value);
477 /// The progress visual property.
479 /// <since_tizen> 3 </since_tizen>
480 public PropertyMap ProgressVisual
484 return (PropertyMap)GetValue(ProgressVisualProperty);
488 SetValue(ProgressVisualProperty, value);
493 /// The popup visual property.
495 /// <since_tizen> 3 </since_tizen>
496 public PropertyMap PopupVisual
500 return (PropertyMap)GetValue(PopupVisualProperty);
504 SetValue(PopupVisualProperty, value);
509 /// The popup arrow visual property.
511 /// <since_tizen> 3 </since_tizen>
512 public PropertyMap PopupArrowVisual
516 return (PropertyMap)GetValue(PopupArrowVisualProperty);
520 SetValue(PopupArrowVisualProperty, value);
525 /// The disable color property.
527 /// <since_tizen> 3 </since_tizen>
528 public Vector4 DisabledColor
532 return (Vector4)GetValue(DisabledColorProperty);
536 SetValue(DisabledColorProperty, value);
541 /// The value precision property.
543 /// <since_tizen> 3 </since_tizen>
544 public int ValuePrecision
548 return (int)GetValue(ValuePrecisionProperty);
552 SetValue(ValuePrecisionProperty, value);
557 /// The show popup property.
559 /// <since_tizen> 3 </since_tizen>
560 public bool ShowPopup
564 return (bool)GetValue(ShowPopupProperty);
568 SetValue(ShowPopupProperty, value);
573 /// The show value property.
575 /// <since_tizen> 3 </since_tizen>
576 public bool ShowValue
580 return (bool)GetValue(ShowValueProperty);
584 SetValue(ShowValueProperty, value);
589 /// The marks property.
591 /// <since_tizen> 3 </since_tizen>
592 public Tizen.NUI.PropertyArray Marks
596 return (PropertyArray)GetValue(MarksProperty);
600 SetValue(MarksProperty, value);
605 /// The snap to marks property.
607 /// <since_tizen> 3 </since_tizen>
608 public bool SnapToMarks
612 return (bool)GetValue(SnapToMarksProperty);
616 SetValue(SnapToMarksProperty, value);
621 /// The mark tolerance property.
623 /// <since_tizen> 3 </since_tizen>
624 public float MarkTolerance
628 return (float)GetValue(MarkToleranceProperty);
632 SetValue(MarkToleranceProperty, value);
637 /// Downcasts an object handle to the slider.<br />
638 /// If the handle points to a slider, then the downcast produces a valid handle.<br />
639 /// If not, then the returned handle is left uninitialized.<br />
641 /// <param name="handle">The handle to an object.</param>
642 /// <returns>The handle to a slider or an uninitialized handle.</returns>
643 /// <since_tizen> 3 </since_tizen>
644 public static Slider DownCast(BaseHandle handle)
646 Slider ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
647 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
651 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
653 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
657 /// Gets the slider from the pointer.
659 /// <param name="cPtr">The pointer of the slider.</param>
660 /// <returns>The object of the slider type.</returns>
661 internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
663 Slider ret = new Slider(cPtr, false);
664 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
668 internal Slider Assign(Slider handle)
670 Slider ret = new Slider(Interop.Slider.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
671 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
675 internal SliderValueChangedSignal ValueChangedSignal()
677 SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_ValueChangedSignal(swigCPtr), false);
678 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
682 internal SliderValueChangedSignal SlidingFinishedSignal()
684 SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_SlidingFinishedSignal(swigCPtr), false);
685 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
689 internal SliderMarkReachedSignal MarkReachedSignal()
691 SliderMarkReachedSignal ret = new SliderMarkReachedSignal(Interop.Slider.Slider_MarkReachedSignal(swigCPtr), false);
692 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
699 /// <since_tizen> 3 </since_tizen>
700 protected override void Dispose(DisposeTypes type)
707 if (type == DisposeTypes.Explicit)
710 //Release your own managed resources here.
711 //You should release all of your own disposable objects here.
715 //Release your own unmanaged resources here.
716 //You should not access any managed member here except static instance.
717 //because the execution order of Finalizes is non-deterministic.
720 if (_sliderValueChangedCallbackDelegate != null)
722 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
725 if (_sliderSlidingFinishedCallbackDelegate != null)
727 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
730 if (_sliderMarkReachedCallbackDelegate != null)
732 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
736 if (swigCPtr.Handle != global::System.IntPtr.Zero)
741 Interop.Slider.delete_Slider(swigCPtr);
743 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
749 // Callback for Slider ValueChanged signal
750 private bool OnValueChanged(IntPtr slider, float slideValue)
752 ValueChangedEventArgs e = new ValueChangedEventArgs();
754 // Populate all members of "e" (ValueChangedEventArgs) with real page
755 e.Slider = Slider.GetSliderFromPtr(slider);
756 e.SlideValue = slideValue;
758 if (_sliderValueChangedEventHandler != null)
760 //here we send all page to user event handlers
761 return _sliderValueChangedEventHandler(this, e);
766 // Callback for Slider SlidingFinished signal
767 private bool OnSlidingFinished(IntPtr slider, float slideValue)
769 SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
771 // Populate all members of "e" (SlidingFinishedEventArgs) with real page
772 e.Slider = Slider.GetSliderFromPtr(slider);
773 e.SlideValue = slideValue;
775 if (_sliderSlidingFinishedEventHandler != null)
777 //here we send all page to user event handlers
778 return _sliderSlidingFinishedEventHandler(this, e);
783 // Callback for Slider MarkReached signal
784 private bool OnMarkReached(IntPtr slider, int slideValue)
786 MarkReachedEventArgs e = new MarkReachedEventArgs();
788 // Populate all members of "e" (MarkReachedEventArgs) with real page
789 e.Slider = Slider.GetSliderFromPtr(slider);
790 e.SlideValue = slideValue;
792 if (_sliderMarkReachedEventHandler != null)
794 //here we send all page to user event handlers
795 return _sliderMarkReachedEventHandler(this, e);
801 /// The ValueChanged event arguments.
803 /// <since_tizen> 3 </since_tizen>
804 public class ValueChangedEventArgs : EventArgs
806 private Slider _slider;
807 private float _slideValue;
812 /// <since_tizen> 3 </since_tizen>
826 /// The slider value.
828 /// <since_tizen> 3 </since_tizen>
829 public float SlideValue
843 /// The SlidingFinished event arguments.
845 /// <since_tizen> 3 </since_tizen>
846 public class SlidingFinishedEventArgs : EventArgs
848 private Slider _slider;
849 private float _slideValue;
854 /// <since_tizen> 3 </since_tizen>
868 /// The slider value.
870 /// <since_tizen> 3 </since_tizen>
871 public float SlideValue
885 /// The MarkReached event arguments.
887 /// <since_tizen> 3 </since_tizen>
888 public class MarkReachedEventArgs : EventArgs
890 private Slider _slider;
891 private int _slideValue;
896 /// <since_tizen> 3 </since_tizen>
910 /// The slider value.
912 /// <since_tizen> 3 </since_tizen>
913 public int SlideValue
926 internal new class Property
928 internal static readonly int LOWER_BOUND = Interop.Slider.Slider_Property_LOWER_BOUND_get();
929 internal static readonly int UPPER_BOUND = Interop.Slider.Slider_Property_UPPER_BOUND_get();
930 internal static readonly int VALUE = Interop.Slider.Slider_Property_VALUE_get();
931 internal static readonly int TRACK_VISUAL = Interop.Slider.Slider_Property_TRACK_VISUAL_get();
932 internal static readonly int HANDLE_VISUAL = Interop.Slider.Slider_Property_HANDLE_VISUAL_get();
933 internal static readonly int PROGRESS_VISUAL = Interop.Slider.Slider_Property_PROGRESS_VISUAL_get();
934 internal static readonly int POPUP_VISUAL = Interop.Slider.Slider_Property_POPUP_VISUAL_get();
935 internal static readonly int POPUP_ARROW_VISUAL = Interop.Slider.Slider_Property_POPUP_ARROW_VISUAL_get();
936 internal static readonly int DISABLED_COLOR = Interop.Slider.Slider_Property_DISABLED_COLOR_get();
937 internal static readonly int VALUE_PRECISION = Interop.Slider.Slider_Property_VALUE_PRECISION_get();
938 internal static readonly int SHOW_POPUP = Interop.Slider.Slider_Property_SHOW_POPUP_get();
939 internal static readonly int SHOW_VALUE = Interop.Slider.Slider_Property_SHOW_VALUE_get();
940 internal static readonly int MARKS = Interop.Slider.Slider_Property_MARKS_get();
941 internal static readonly int SNAP_TO_MARKS = Interop.Slider.Slider_Property_SNAP_TO_MARKS_get();
942 internal static readonly int MARK_TOLERANCE = Interop.Slider.Slider_Property_MARK_TOLERANCE_get();