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 //------------------------------------------------------------------------------
31 using System.Runtime.InteropServices;
34 /// Slider is a control to enable sliding an indicator between two values.
36 public class Slider : View
38 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
40 internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
42 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
45 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
47 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
52 DisposeQueue.Instance.Add(this);
58 public override void Dispose()
60 if (!Stage.IsInstalled())
62 DisposeQueue.Instance.Add(this);
68 if (swigCPtr.Handle != global::System.IntPtr.Zero)
73 NDalicPINVOKE.delete_Slider(swigCPtr);
75 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
77 global::System.GC.SuppressFinalize(this);
85 /// Value changed event arguments.
87 public class ValueChangedEventArgs : EventArgs
89 private Slider _slider;
90 private float _slideValue;
110 public float SlideValue
124 /// Sliding finished event arguments.
126 public class SlidingFinishedEventArgs : EventArgs
128 private Slider _slider;
129 private float _slideValue;
149 public float SlideValue
163 /// Mark reached event arguments.
165 public class MarkReachedEventArgs : EventArgs
167 private Slider _slider;
168 private int _slideValue;
188 public int SlideValue
202 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
203 private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
204 private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
205 private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
207 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
208 private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
209 private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
210 private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
212 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
213 private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
214 private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
215 private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
218 /// Event emitted when the slider value changes.
220 public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
224 if (_sliderValueChangedEventHandler == null)
226 _sliderValueChangedCallbackDelegate = (OnValueChanged);
227 ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
229 _sliderValueChangedEventHandler += value;
233 _sliderValueChangedEventHandler -= value;
234 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
236 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
241 // Callback for Slider ValueChanged signal
242 private bool OnValueChanged(IntPtr slider, float slideValue)
244 ValueChangedEventArgs e = new ValueChangedEventArgs();
246 // Populate all members of "e" (ValueChangedEventArgs) with real page
247 e.Slider = Slider.GetSliderFromPtr(slider);
248 e.SlideValue = slideValue;
250 if (_sliderValueChangedEventHandler != null)
252 //here we send all page to user event handlers
253 return _sliderValueChangedEventHandler(this, e);
259 /// Event emitted when the sliding is finished.
261 public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
265 if (_sliderSlidingFinishedEventHandler == null)
267 _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
268 SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
270 _sliderSlidingFinishedEventHandler += value;
274 _sliderSlidingFinishedEventHandler -= value;
275 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
277 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
282 // Callback for Slider SlidingFinished signal
283 private bool OnSlidingFinished(IntPtr slider, float slideValue)
285 SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
287 // Populate all members of "e" (SlidingFinishedEventArgs) with real page
288 e.Slider = Slider.GetSliderFromPtr(slider);
289 e.SlideValue = slideValue;
291 if (_sliderSlidingFinishedEventHandler != null)
293 //here we send all page to user event handlers
294 return _sliderSlidingFinishedEventHandler(this, e);
300 /// Event emitted when the slider handle reaches a mark.
302 public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
306 if (_sliderMarkReachedEventHandler == null)
308 _sliderMarkReachedCallbackDelegate = (OnMarkReached);
309 MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
311 _sliderMarkReachedEventHandler += value;
315 _sliderMarkReachedEventHandler -= value;
316 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
318 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
323 // Callback for Slider MarkReached signal
324 private bool OnMarkReached(IntPtr slider, int slideValue)
326 MarkReachedEventArgs e = new MarkReachedEventArgs();
328 // Populate all members of "e" (MarkReachedEventArgs) with real page
329 e.Slider = Slider.GetSliderFromPtr(slider);
330 e.SlideValue = slideValue;
332 if (_sliderMarkReachedEventHandler != null)
334 //here we send all page to user event handlers
335 return _sliderMarkReachedEventHandler(this, e);
341 /// Get Slider from the pointer.
343 /// <param name="cPtr">The pointer of Slider</param>
344 /// <returns>Object of Slider type</returns>
345 internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
347 Slider ret = new Slider(cPtr, false);
348 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
352 internal class Property : global::System.IDisposable
354 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
355 protected bool swigCMemOwn;
357 internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
359 swigCMemOwn = cMemoryOwn;
360 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
363 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
365 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
373 public virtual void Dispose()
377 if (swigCPtr.Handle != global::System.IntPtr.Zero)
382 NDalicPINVOKE.delete_Slider_Property(swigCPtr);
384 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
386 global::System.GC.SuppressFinalize(this);
390 internal Property() : this(NDalicPINVOKE.new_Slider_Property(), true)
392 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
395 internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
396 internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
397 internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
398 internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
399 internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
400 internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
401 internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
402 internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
403 internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
404 internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
405 internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
406 internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
407 internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
408 internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
409 internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
414 /// Creates the Slider control.
416 public Slider() : this(NDalicPINVOKE.Slider_New(), true)
418 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
421 internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
423 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
426 internal Slider Assign(Slider handle)
428 Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
429 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
434 /// Downcasts an Object handle to Slider.<br>
435 /// If handle points to a Slider, the downcast produces valid handle.<br>
436 /// If not, the returned handle is left uninitialized.<br>
438 /// <param name="handle">Handle to an object</param>
439 /// <returns>Handle to a Slider or an uninitialized handle</returns>
440 public new static Slider DownCast(BaseHandle handle)
442 Slider ret = new Slider(NDalicPINVOKE.Slider_DownCast(BaseHandle.getCPtr(handle)), true);
443 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
447 internal SliderValueChangedSignal ValueChangedSignal()
449 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
450 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
454 internal SliderValueChangedSignal SlidingFinishedSignal()
456 SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
457 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
461 internal SliderMarkReachedSignal MarkReachedSignal()
463 SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
464 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
468 internal enum PropertyRange
470 PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
471 PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
475 /// Lower bound property
477 public float LowerBound
482 GetProperty(Slider.Property.LOWER_BOUND).Get(ref temp);
487 SetProperty(Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue(value));
492 /// Upper bound property
494 public float UpperBound
499 GetProperty(Slider.Property.UPPER_BOUND).Get(ref temp);
504 SetProperty(Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue(value));
516 GetProperty(Slider.Property.VALUE).Get(ref temp);
521 SetProperty(Slider.Property.VALUE, new Tizen.NUI.PropertyValue(value));
526 /// Track visual property
528 public PropertyMap TrackVisual
532 PropertyMap temp = new PropertyMap();
533 GetProperty(Slider.Property.TRACK_VISUAL).Get(temp);
538 SetProperty(Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue(value));
543 /// Handle visual property
545 public PropertyMap HandleVisual
549 PropertyMap temp = new PropertyMap();
550 GetProperty(Slider.Property.HANDLE_VISUAL).Get(temp);
555 SetProperty(Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue(value));
560 /// Progress visual property
562 public PropertyMap ProgressVisual
566 PropertyMap temp = new PropertyMap();
567 GetProperty(Slider.Property.PROGRESS_VISUAL).Get(temp);
572 SetProperty(Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue(value));
577 /// Popup visual property
579 public PropertyMap PopupVisual
583 PropertyMap temp = new PropertyMap();
584 GetProperty(Slider.Property.POPUP_VISUAL).Get(temp);
589 SetProperty(Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue(value));
594 /// Popup arrow visual property
596 public PropertyMap PopupArrowVisual
600 PropertyMap temp = new PropertyMap();
601 GetProperty(Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
606 SetProperty(Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue(value));
611 /// Disable color property
613 public Vector4 DisabledColor
617 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
618 GetProperty(Slider.Property.DISABLED_COLOR).Get(temp);
623 SetProperty(Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue(value));
628 /// Value presicion property
630 public int ValuePrecision
635 GetProperty(Slider.Property.VALUE_PRECISION).Get(ref temp);
640 SetProperty(Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue(value));
645 /// Show popup property
647 public bool ShowPopup
652 GetProperty(Slider.Property.SHOW_POPUP).Get(ref temp);
657 SetProperty(Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue(value));
662 /// Show value property
664 public bool ShowValue
669 GetProperty(Slider.Property.SHOW_VALUE).Get(ref temp);
674 SetProperty(Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue(value));
681 public Tizen.NUI.PropertyArray Marks
685 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
686 GetProperty(Slider.Property.MARKS).Get(temp);
691 SetProperty(Slider.Property.MARKS, new Tizen.NUI.PropertyValue(value));
696 /// Snap to marks property
698 public bool SnapToMarks
703 GetProperty(Slider.Property.SNAP_TO_MARKS).Get(ref temp);
708 SetProperty(Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue(value));
713 /// Mark tolerance property
715 public float MarkTolerance
720 GetProperty(Slider.Property.MARK_TOLERANCE).Get(ref temp);
725 SetProperty(Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue(value));