1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 // This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
17 //------------------------------------------------------------------------------
20 // This file was automatically generated by SWIG (http://www.swig.org).
23 // Do not make changes to this file unless you know what you are doing--modify
24 // the SWIG interface file instead.
25 //------------------------------------------------------------------------------
27 namespace Tizen.NUI.UIComponents
31 using System.Runtime.InteropServices;
32 using Tizen.NUI.BaseComponents;
35 /// Slider is a control to enable sliding an indicator between two values.
37 public class Slider : View
39 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
41 internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
43 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
46 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
48 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
54 public override void Dispose()
56 if (!Window.IsInstalled())
58 DisposeQueue.Instance.Add(this);
64 if (swigCPtr.Handle != global::System.IntPtr.Zero)
69 NDalicPINVOKE.delete_Slider(swigCPtr);
71 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
73 global::System.GC.SuppressFinalize(this);
81 /// Value changed event arguments.
83 public class ValueChangedEventArgs : EventArgs
85 private Slider _slider;
86 private float _slideValue;
106 public float SlideValue
120 /// Sliding finished event arguments.
122 public class SlidingFinishedEventArgs : EventArgs
124 private Slider _slider;
125 private float _slideValue;
145 public float SlideValue
159 /// Mark reached event arguments.
161 public class MarkReachedEventArgs : EventArgs
163 private Slider _slider;
164 private int _slideValue;
184 public int SlideValue
198 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
199 private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
200 private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
201 private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
203 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
204 private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
205 private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
206 private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
208 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
209 private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
210 private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
211 private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
214 /// Event emitted when the slider value changes.
216 public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
220 if (_sliderValueChangedEventHandler == null)
222 _sliderValueChangedCallbackDelegate = (OnValueChanged);
223 ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
225 _sliderValueChangedEventHandler += value;
229 _sliderValueChangedEventHandler -= value;
230 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
232 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
237 // Callback for Slider ValueChanged signal
238 private bool OnValueChanged(IntPtr slider, float slideValue)
240 ValueChangedEventArgs e = new ValueChangedEventArgs();
242 // Populate all members of "e" (ValueChangedEventArgs) with real page
243 e.Slider = Slider.GetSliderFromPtr(slider);
244 e.SlideValue = slideValue;
246 if (_sliderValueChangedEventHandler != null)
248 //here we send all page to user event handlers
249 return _sliderValueChangedEventHandler(this, e);
255 /// Event emitted when the sliding is finished.
257 public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
261 if (_sliderSlidingFinishedEventHandler == null)
263 _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
264 SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
266 _sliderSlidingFinishedEventHandler += value;
270 _sliderSlidingFinishedEventHandler -= value;
271 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
273 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
278 // Callback for Slider SlidingFinished signal
279 private bool OnSlidingFinished(IntPtr slider, float slideValue)
281 SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
283 // Populate all members of "e" (SlidingFinishedEventArgs) with real page
284 e.Slider = Slider.GetSliderFromPtr(slider);
285 e.SlideValue = slideValue;
287 if (_sliderSlidingFinishedEventHandler != null)
289 //here we send all page to user event handlers
290 return _sliderSlidingFinishedEventHandler(this, e);
296 /// Event emitted when the slider handle reaches a mark.
298 public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
302 if (_sliderMarkReachedEventHandler == null)
304 _sliderMarkReachedCallbackDelegate = (OnMarkReached);
305 MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
307 _sliderMarkReachedEventHandler += value;
311 _sliderMarkReachedEventHandler -= value;
312 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
314 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
319 // Callback for Slider MarkReached signal
320 private bool OnMarkReached(IntPtr slider, int slideValue)
322 MarkReachedEventArgs e = new MarkReachedEventArgs();
324 // Populate all members of "e" (MarkReachedEventArgs) with real page
325 e.Slider = Slider.GetSliderFromPtr(slider);
326 e.SlideValue = slideValue;
328 if (_sliderMarkReachedEventHandler != null)
330 //here we send all page to user event handlers
331 return _sliderMarkReachedEventHandler(this, e);
337 /// Get Slider from the pointer.
339 /// <param name="cPtr">The pointer of Slider</param>
340 /// <returns>Object of Slider type</returns>
341 internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
343 Slider ret = new Slider(cPtr, false);
344 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
348 internal class Property : global::System.IDisposable
350 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
351 protected bool swigCMemOwn;
353 internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
355 swigCMemOwn = cMemoryOwn;
356 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
359 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
361 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
369 public virtual void Dispose()
373 if (swigCPtr.Handle != global::System.IntPtr.Zero)
378 NDalicPINVOKE.delete_Slider_Property(swigCPtr);
380 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
382 global::System.GC.SuppressFinalize(this);
386 internal Property() : this(NDalicPINVOKE.new_Slider_Property(), true)
388 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
391 internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
392 internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
393 internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
394 internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
395 internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
396 internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
397 internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
398 internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
399 internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
400 internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
401 internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
402 internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
403 internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
404 internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
405 internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
410 /// Creates the Slider control.
412 public Slider() : this(NDalicPINVOKE.Slider_New(), true)
414 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
417 internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
419 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
422 internal Slider Assign(Slider handle)
424 Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
425 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
430 /// Downcasts an Object handle to Slider.<br>
431 /// If handle points to a Slider, the downcast produces valid handle.<br>
432 /// If not, the returned handle is left uninitialized.<br>
434 /// <param name="handle">Handle to an object</param>
435 /// <returns>Handle to a Slider or an uninitialized handle</returns>
436 public new static Slider DownCast(BaseHandle handle)
438 Slider ret = new Slider(NDalicPINVOKE.Slider_DownCast(BaseHandle.getCPtr(handle)), true);
439 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
443 internal SliderValueChangedSignal ValueChangedSignal()
445 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
446 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
450 internal SliderValueChangedSignal SlidingFinishedSignal()
452 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
453 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
457 internal SliderMarkReachedSignal MarkReachedSignal()
459 SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
460 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
464 internal enum PropertyRange
466 PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
467 PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
471 /// Lower bound property
473 public float LowerBound
478 GetProperty(Slider.Property.LOWER_BOUND).Get(ref temp);
483 SetProperty(Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue(value));
488 /// Upper bound property
490 public float UpperBound
495 GetProperty(Slider.Property.UPPER_BOUND).Get(ref temp);
500 SetProperty(Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue(value));
512 GetProperty(Slider.Property.VALUE).Get(ref temp);
517 SetProperty(Slider.Property.VALUE, new Tizen.NUI.PropertyValue(value));
522 /// Track visual property
524 public PropertyMap TrackVisual
528 PropertyMap temp = new PropertyMap();
529 GetProperty(Slider.Property.TRACK_VISUAL).Get(temp);
534 SetProperty(Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue(value));
539 /// Handle visual property
541 public PropertyMap HandleVisual
545 PropertyMap temp = new PropertyMap();
546 GetProperty(Slider.Property.HANDLE_VISUAL).Get(temp);
551 SetProperty(Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue(value));
556 /// Progress visual property
558 public PropertyMap ProgressVisual
562 PropertyMap temp = new PropertyMap();
563 GetProperty(Slider.Property.PROGRESS_VISUAL).Get(temp);
568 SetProperty(Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue(value));
573 /// Popup visual property
575 public PropertyMap PopupVisual
579 PropertyMap temp = new PropertyMap();
580 GetProperty(Slider.Property.POPUP_VISUAL).Get(temp);
585 SetProperty(Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue(value));
590 /// Popup arrow visual property
592 public PropertyMap PopupArrowVisual
596 PropertyMap temp = new PropertyMap();
597 GetProperty(Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
602 SetProperty(Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue(value));
607 /// Disable color property
609 public Vector4 DisabledColor
613 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
614 GetProperty(Slider.Property.DISABLED_COLOR).Get(temp);
619 SetProperty(Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue(value));
624 /// Value presicion property
626 public int ValuePrecision
631 GetProperty(Slider.Property.VALUE_PRECISION).Get(ref temp);
636 SetProperty(Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue(value));
641 /// Show popup property
643 public bool ShowPopup
648 GetProperty(Slider.Property.SHOW_POPUP).Get(ref temp);
653 SetProperty(Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue(value));
658 /// Show value property
660 public bool ShowValue
665 GetProperty(Slider.Property.SHOW_VALUE).Get(ref temp);
670 SetProperty(Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue(value));
677 public Tizen.NUI.PropertyArray Marks
681 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
682 GetProperty(Slider.Property.MARKS).Get(temp);
687 SetProperty(Slider.Property.MARKS, new Tizen.NUI.PropertyValue(value));
692 /// Snap to marks property
694 public bool SnapToMarks
699 GetProperty(Slider.Property.SNAP_TO_MARKS).Get(ref temp);
704 SetProperty(Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue(value));
709 /// Mark tolerance property
711 public float MarkTolerance
716 GetProperty(Slider.Property.MARK_TOLERANCE).Get(ref temp);
721 SetProperty(Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue(value));