SetValue( value );
DisplayPopup( value );
}
+ else if( touchState == TouchPoint::Up)
+ {
+ if( mState == PRESSED )
+ {
+ mState = NORMAL;
+ mSlidingFinishedSignal.Emit( Toolkit::Slider::DownCast( Self() ), Self().GetProperty( mPropertyValue ).Get<float>());
+ }
+ }
}
return true;
}
case Gesture::Finished:
{
- if( mState == PRESSED && GetSnapToMarks() )
+ if( mState == PRESSED )
{
- float value = MapBounds( SnapToMark( MapPercentage( gesture.position ) ), GetLowerBound(), GetUpperBound() );
- SetValue( value );
- DisplayPopup( value );
+ if( GetSnapToMarks() )
+ {
+ float value = MapBounds( SnapToMark( MapPercentage( gesture.position ) ), GetLowerBound(), GetUpperBound() );
+ SetValue( value );
+ DisplayPopup( value );
+ }
+ mSlidingFinishedSignal.Emit( Toolkit::Slider::DownCast( Self() ), Self().GetProperty( mPropertyValue ).Get<float>());
}
mState = NORMAL;
return mValueChangedSignal;
}
+Toolkit::Slider::ValueChangedSignalType& Slider::SlidingFinishedSignal()
+{
+ return mSlidingFinishedSignal;
+}
+
Toolkit::Slider::MarkSignalType& Slider::MarkSignal()
{
return mMarkSignal;
Toolkit::Slider::ValueChangedSignalType& ValueChangedSignal();
/**
+ * copydoc Toolkit::Slider::SlidingFinishedSignal()
+ */
+ Toolkit::Slider::ValueChangedSignalType& SlidingFinishedSignal();
+
+ /**
* @copydoc Toolkit::Slider::MarkSignal()
*/
Toolkit::Slider::MarkSignalType& MarkSignal();
Timer mValueTimer; ///< Timer used to hide value view
Toolkit::Slider::ValueChangedSignalType mValueChangedSignal; ///< Signal emitted when the value is changed
+ Toolkit::Slider::ValueChangedSignalType mSlidingFinishedSignal; ///< Signal emitted when a sliding is finished
Toolkit::Slider::MarkSignalType mMarkSignal; ///< Signal emitted when a mark is reached
SliderState mState; ///< The state of the slider
return GetImpl( *this ).ValueChangedSignal();
}
+Slider::ValueChangedSignalType& Slider::SlidingFinishedSignal()
+{
+ return GetImpl( *this ).SlidingFinishedSignal();
+}
+
Slider::MarkSignalType& Slider::MarkSignal()
{
return GetImpl( *this ).MarkSignal();
ValueChangedSignalType& ValueChangedSignal();
/**
+ * Signal emitted when the sliding is finished
+ */
+ ValueChangedSignalType& SlidingFinishedSignal();
+
+ /**
* Signal emitted when the slider handle reaches a mark
*/
MarkSignalType& MarkSignal();