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;
290 internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
292 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
295 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
297 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
303 /// <since_tizen> 3 </since_tizen>
304 protected override void Dispose(DisposeTypes type)
311 if (type == DisposeTypes.Explicit)
314 //Release your own managed resources here.
315 //You should release all of your own disposable objects here.
319 //Release your own unmanaged resources here.
320 //You should not access any managed member here except static instance.
321 //because the execution order of Finalizes is non-deterministic.
324 if (_sliderValueChangedCallbackDelegate != null)
326 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
329 if (_sliderSlidingFinishedCallbackDelegate != null)
331 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
334 if (_sliderMarkReachedCallbackDelegate != null)
336 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
340 if (swigCPtr.Handle != global::System.IntPtr.Zero)
345 NDalicPINVOKE.delete_Slider(swigCPtr);
347 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
354 /// The ValueChanged event arguments.
356 /// <since_tizen> 3 </since_tizen>
357 public class ValueChangedEventArgs : EventArgs
359 private Slider _slider;
360 private float _slideValue;
365 /// <since_tizen> 3 </since_tizen>
379 /// The slider value.
381 /// <since_tizen> 3 </since_tizen>
382 public float SlideValue
396 /// The SlidingFinished event arguments.
398 /// <since_tizen> 3 </since_tizen>
399 public class SlidingFinishedEventArgs : EventArgs
401 private Slider _slider;
402 private float _slideValue;
407 /// <since_tizen> 3 </since_tizen>
421 /// The slider value.
423 /// <since_tizen> 3 </since_tizen>
424 public float SlideValue
438 /// The MarkReached event arguments.
440 /// <since_tizen> 3 </since_tizen>
441 public class MarkReachedEventArgs : EventArgs
443 private Slider _slider;
444 private int _slideValue;
449 /// <since_tizen> 3 </since_tizen>
463 /// The slider value.
465 /// <since_tizen> 3 </since_tizen>
466 public int SlideValue
480 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
481 private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
482 private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
483 private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
485 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
486 private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
487 private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
488 private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
490 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
491 private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
492 private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
493 private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
496 /// An event emitted when the slider value changes.
498 /// <since_tizen> 3 </since_tizen>
499 public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
503 if (_sliderValueChangedEventHandler == null)
505 _sliderValueChangedCallbackDelegate = (OnValueChanged);
506 ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
508 _sliderValueChangedEventHandler += value;
512 _sliderValueChangedEventHandler -= value;
513 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
515 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
520 // Callback for Slider ValueChanged signal
521 private bool OnValueChanged(IntPtr slider, float slideValue)
523 ValueChangedEventArgs e = new ValueChangedEventArgs();
525 // Populate all members of "e" (ValueChangedEventArgs) with real page
526 e.Slider = Slider.GetSliderFromPtr(slider);
527 e.SlideValue = slideValue;
529 if (_sliderValueChangedEventHandler != null)
531 //here we send all page to user event handlers
532 return _sliderValueChangedEventHandler(this, e);
538 /// An event emitted when the sliding is finished.
540 /// <since_tizen> 3 </since_tizen>
541 public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
545 if (_sliderSlidingFinishedEventHandler == null)
547 _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
548 SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
550 _sliderSlidingFinishedEventHandler += value;
554 _sliderSlidingFinishedEventHandler -= value;
555 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
557 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
562 // Callback for Slider SlidingFinished signal
563 private bool OnSlidingFinished(IntPtr slider, float slideValue)
565 SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
567 // Populate all members of "e" (SlidingFinishedEventArgs) with real page
568 e.Slider = Slider.GetSliderFromPtr(slider);
569 e.SlideValue = slideValue;
571 if (_sliderSlidingFinishedEventHandler != null)
573 //here we send all page to user event handlers
574 return _sliderSlidingFinishedEventHandler(this, e);
580 /// An event emitted when the slider handle reaches a mark.
582 /// <since_tizen> 3 </since_tizen>
583 public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
587 if (_sliderMarkReachedEventHandler == null)
589 _sliderMarkReachedCallbackDelegate = (OnMarkReached);
590 MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
592 _sliderMarkReachedEventHandler += value;
596 _sliderMarkReachedEventHandler -= value;
597 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
599 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
604 // Callback for Slider MarkReached signal
605 private bool OnMarkReached(IntPtr slider, int slideValue)
607 MarkReachedEventArgs e = new MarkReachedEventArgs();
609 // Populate all members of "e" (MarkReachedEventArgs) with real page
610 e.Slider = Slider.GetSliderFromPtr(slider);
611 e.SlideValue = slideValue;
613 if (_sliderMarkReachedEventHandler != null)
615 //here we send all page to user event handlers
616 return _sliderMarkReachedEventHandler(this, e);
622 /// Gets the slider from the pointer.
624 /// <param name="cPtr">The pointer of the slider.</param>
625 /// <returns>The object of the slider type.</returns>
626 internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
628 Slider ret = new Slider(cPtr, false);
629 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
633 internal new class Property : global::System.IDisposable
635 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
636 protected bool swigCMemOwn;
638 internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
640 swigCMemOwn = cMemoryOwn;
641 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
644 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
646 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
649 //A Flag to check who called Dispose(). (By User or DisposeQueue)
650 private bool isDisposeQueued = false;
651 //A Flat to check if it is already disposed.
652 protected bool disposed = false;
656 if (!isDisposeQueued)
658 isDisposeQueued = true;
659 DisposeQueue.Instance.Add(this);
663 /// <since_tizen> 3 </since_tizen>
664 public void Dispose()
666 //Throw excpetion if Dispose() is called in separate thread.
667 if (!Window.IsInstalled())
669 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
674 Dispose(DisposeTypes.Implicit);
678 Dispose(DisposeTypes.Explicit);
679 System.GC.SuppressFinalize(this);
683 protected virtual void Dispose(DisposeTypes type)
690 if (type == DisposeTypes.Explicit)
693 //Release your own managed resources here.
694 //You should release all of your own disposable objects here.
698 //Release your own unmanaged resources here.
699 //You should not access any managed member here except static instance.
700 //because the execution order of Finalizes is non-deterministic.
702 if (swigCPtr.Handle != global::System.IntPtr.Zero)
707 NDalicPINVOKE.delete_Slider_Property(swigCPtr);
709 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
715 internal Property() : this(NDalicPINVOKE.new_Slider_Property(), true)
717 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
720 internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
721 internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
722 internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
723 internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
724 internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
725 internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
726 internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
727 internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
728 internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
729 internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
730 internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
731 internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
732 internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
733 internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
734 internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
739 /// Creates the slider control.
741 /// <since_tizen> 3 </since_tizen>
742 public Slider() : this(NDalicPINVOKE.Slider_New(), true)
744 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
747 internal override bool IsCreateByXaml
751 return base.IsCreateByXaml;
755 base.IsCreateByXaml = value;
759 this.ValueChanged += (obj, e) => {
760 this.Value = e.SlideValue;
767 internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
769 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
772 internal Slider Assign(Slider handle)
774 Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
775 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
780 /// Downcasts an object handle to the slider.<br />
781 /// If the handle points to a slider, then the downcast produces a valid handle.<br />
782 /// If not, then the returned handle is left uninitialized.<br />
784 /// <param name="handle">The handle to an object.</param>
785 /// <returns>The handle to a slider or an uninitialized handle.</returns>
786 /// <since_tizen> 3 </since_tizen>
787 public static Slider DownCast(BaseHandle handle)
789 Slider ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
790 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
794 internal SliderValueChangedSignal ValueChangedSignal()
796 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
797 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
801 internal SliderValueChangedSignal SlidingFinishedSignal()
803 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
804 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
808 internal SliderMarkReachedSignal MarkReachedSignal()
810 SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
811 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
816 /// The lower bound property.
818 /// <since_tizen> 3 </since_tizen>
819 public float LowerBound
823 return (float)GetValue(LowerBoundProperty);
827 SetValue(LowerBoundProperty, value);
832 /// The upper bound property.
834 /// <since_tizen> 3 </since_tizen>
835 public float UpperBound
839 return (float)GetValue(UpperBoundProperty);
843 SetValue(UpperBoundProperty, value);
848 /// The value property.
850 /// <since_tizen> 3 </since_tizen>
855 return (float)GetValue(ValueProperty);
859 SetValueAndForceSendChangeSignal(ValueProperty, value);
864 /// The track visual property.
866 /// <since_tizen> 3 </since_tizen>
867 public PropertyMap TrackVisual
871 return (PropertyMap)GetValue(TrackVisualProperty);
875 SetValue(TrackVisualProperty, value);
880 /// The handle visual property.
882 /// <since_tizen> 3 </since_tizen>
883 public PropertyMap HandleVisual
887 return (PropertyMap)GetValue(HandleVisualProperty);
891 SetValue(HandleVisualProperty, value);
896 /// The progress visual property.
898 /// <since_tizen> 3 </since_tizen>
899 public PropertyMap ProgressVisual
903 return (PropertyMap)GetValue(ProgressVisualProperty);
907 SetValue(ProgressVisualProperty, value);
912 /// The popup visual property.
914 /// <since_tizen> 3 </since_tizen>
915 public PropertyMap PopupVisual
919 return (PropertyMap)GetValue(PopupVisualProperty);
923 SetValue(PopupVisualProperty, value);
928 /// The popup arrow visual property.
930 /// <since_tizen> 3 </since_tizen>
931 public PropertyMap PopupArrowVisual
935 return (PropertyMap)GetValue(PopupArrowVisualProperty);
939 SetValue(PopupArrowVisualProperty, value);
944 /// The disable color property.
946 /// <since_tizen> 3 </since_tizen>
947 public Vector4 DisabledColor
951 return (Vector4)GetValue(DisabledColorProperty);
955 SetValue(DisabledColorProperty, value);
960 /// The value precision property.
962 /// <since_tizen> 3 </since_tizen>
963 public int ValuePrecision
967 return (int)GetValue(ValuePrecisionProperty);
971 SetValue(ValuePrecisionProperty, value);
976 /// The show popup property.
978 /// <since_tizen> 3 </since_tizen>
979 public bool ShowPopup
983 return (bool)GetValue(ShowPopupProperty);
987 SetValue(ShowPopupProperty, value);
992 /// The show value property.
994 /// <since_tizen> 3 </since_tizen>
995 public bool ShowValue
999 return (bool)GetValue(ShowValueProperty);
1003 SetValue(ShowValueProperty, value);
1008 /// The marks property.
1010 /// <since_tizen> 3 </since_tizen>
1011 public Tizen.NUI.PropertyArray Marks
1015 return (PropertyArray)GetValue(MarksProperty);
1019 SetValue(MarksProperty, value);
1024 /// The snap to marks property.
1026 /// <since_tizen> 3 </since_tizen>
1027 public bool SnapToMarks
1031 return (bool)GetValue(SnapToMarksProperty);
1035 SetValue(SnapToMarksProperty, value);
1040 /// The mark tolerance property.
1042 /// <since_tizen> 3 </since_tizen>
1043 public float MarkTolerance
1047 return (float)GetValue(MarkToleranceProperty);
1051 SetValue(MarkToleranceProperty, value);