+void Slider::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value )
+{
+ Toolkit::Slider slider = Toolkit::Slider::DownCast( Dali::BaseHandle( object ) );
+
+ if ( slider )
+ {
+ Slider& sliderImpl( GetImpl( slider ) );
+
+ switch ( propertyIndex )
+ {
+ case Toolkit::Slider::LOWER_BOUND_PROPERTY:
+ {
+ sliderImpl.SetLowerBound( value.Get< float >() );
+ break;
+ }
+
+ case Toolkit::Slider::UPPER_BOUND_PROPERTY:
+ {
+ sliderImpl.SetUpperBound( value.Get< float >() );
+ break;
+ }
+
+ case Toolkit::Slider::VALUE_PROPERTY:
+ {
+ sliderImpl.SetValue( value.Get< float >() );
+ break;
+ }
+
+ case Toolkit::Slider::HIT_REGION_PROPERTY:
+ {
+ sliderImpl.SetHitRegion( value.Get< Vector2 >() );
+ break;
+ }
+
+ case Toolkit::Slider::BACKING_REGION_PROPERTY:
+ {
+ sliderImpl.SetBackingRegion( value.Get< Vector2 >() );
+ break;
+ }
+
+ case Toolkit::Slider::HANDLE_REGION_PROPERTY:
+ {
+ sliderImpl.SetHandleRegion( value.Get< Vector2 >() );
+ break;
+ }
+
+ case Toolkit::Slider::BACKING_IMAGE_NAME_PROPERTY:
+ {
+ sliderImpl.SetBackingImageName( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Slider::HANDLE_IMAGE_NAME_PROPERTY:
+ {
+ sliderImpl.SetHandleImageName( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Slider::PROGRESS_IMAGE_NAME_PROPERTY:
+ {
+ sliderImpl.SetProgressImageName( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_IMAGE_NAME_PROPERTY:
+ {
+ sliderImpl.SetPopupImageName( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY:
+ {
+ sliderImpl.SetPopupArrowImageName( value.Get< std::string >() );
+ break;
+ }
+
+ case Toolkit::Slider::DISABLE_COLOR_PROPERTY:
+ {
+ sliderImpl.SetDisableColor( value.Get< Vector4 >() );
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_TEXT_COLOR_PROPERTY:
+ {
+ sliderImpl.SetPopupTextColor( value.Get< Vector4 >() );
+ break;
+ }
+
+ case Toolkit::Slider::VALUE_PRECISION_PROPERTY:
+ {
+ sliderImpl.SetValuePrecision( value.Get< int >() );
+ break;
+ }
+
+ case Toolkit::Slider::SHOW_POPUP_PROPERTY:
+ {
+ sliderImpl.SetShowPopup( value.Get< bool >() );
+ break;
+ }
+
+ case Toolkit::Slider::SHOW_VALUE_PROPERTY:
+ {
+ sliderImpl.SetShowValue( value.Get< bool >() );
+ break;
+ }
+
+ case Toolkit::Slider::ENABLED_PROPERTY:
+ {
+ sliderImpl.SetEnabled( value.Get< bool >() );
+ break;
+ }
+
+ case Toolkit::Slider::MARKS_PROPERTY:
+ {
+ sliderImpl.SetMarks( value.Get< Property::Array >() );
+ break;
+ }
+
+ case Toolkit::Slider::SNAP_TO_MARKS_PROPERTY:
+ {
+ sliderImpl.SetSnapToMarks( value.Get< bool >() );
+ break;
+ }
+
+ case Toolkit::Slider::MARK_TOLERANCE_PROPERTY:
+ {
+ sliderImpl.SetMarkTolerance( value.Get< float >() );
+ break;
+ }
+ }
+ }
+}
+
+Property::Value Slider::GetProperty( BaseObject* object, Property::Index propertyIndex )
+{
+ Property::Value value;
+
+ Toolkit::Slider slider = Toolkit::Slider::DownCast( Dali::BaseHandle( object ) );
+
+ if ( slider )
+ {
+ Slider& sliderImpl( GetImpl( slider ) );
+
+ switch ( propertyIndex )
+ {
+ case Toolkit::Slider::LOWER_BOUND_PROPERTY:
+ {
+ value = sliderImpl.GetLowerBound();
+ break;
+ }
+
+ case Toolkit::Slider::UPPER_BOUND_PROPERTY:
+ {
+ value = sliderImpl.GetUpperBound();
+ break;
+ }
+
+ case Toolkit::Slider::VALUE_PROPERTY:
+ {
+ value = sliderImpl.GetValue();
+ break;
+ }
+
+ case Toolkit::Slider::HIT_REGION_PROPERTY:
+ {
+ value = sliderImpl.GetHitRegion();
+ break;
+ }
+
+ case Toolkit::Slider::BACKING_REGION_PROPERTY:
+ {
+ value = sliderImpl.GetBackingRegion();
+ break;
+ }
+
+ case Toolkit::Slider::HANDLE_REGION_PROPERTY:
+ {
+ value = sliderImpl.GetHandleRegion();
+ break;
+ }
+
+ case Toolkit::Slider::BACKING_IMAGE_NAME_PROPERTY:
+ {
+ value = sliderImpl.GetBackingImageName();
+ break;
+ }
+
+ case Toolkit::Slider::HANDLE_IMAGE_NAME_PROPERTY:
+ {
+ value = sliderImpl.GetHandleImageName();
+ break;
+ }
+
+ case Toolkit::Slider::PROGRESS_IMAGE_NAME_PROPERTY:
+ {
+ value = sliderImpl.GetProgressImageName();
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_IMAGE_NAME_PROPERTY:
+ {
+ value = sliderImpl.GetPopupImageName();
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_ARROW_IMAGE_NAME_PROPERTY:
+ {
+ value = sliderImpl.GetPopupArrowImageName();
+ break;
+ }
+
+ case Toolkit::Slider::DISABLE_COLOR_PROPERTY:
+ {
+ value = sliderImpl.GetDisableColor();
+ break;
+ }
+
+ case Toolkit::Slider::POPUP_TEXT_COLOR_PROPERTY:
+ {
+ value = sliderImpl.GetPopupTextColor();
+ break;
+ }
+
+ case Toolkit::Slider::VALUE_PRECISION_PROPERTY:
+ {
+ value = sliderImpl.GetValuePrecision();
+ break;
+ }
+
+ case Toolkit::Slider::SHOW_POPUP_PROPERTY:
+ {
+ value = sliderImpl.GetShowPopup();
+ break;
+ }
+
+ case Toolkit::Slider::SHOW_VALUE_PROPERTY:
+ {
+ value = sliderImpl.GetShowValue();
+ break;
+ }
+
+ case Toolkit::Slider::ENABLED_PROPERTY:
+ {
+ value = sliderImpl.IsEnabled();
+ break;
+ }
+
+ case Toolkit::Slider::MARKS_PROPERTY:
+ {
+ // TODO: Need to be able to return a PropertyArray
+ // value = sliderImpl.GetMarks();
+ break;
+ }
+
+ case Toolkit::Slider::SNAP_TO_MARKS_PROPERTY:
+ {
+ value = sliderImpl.GetSnapToMarks();
+ break;
+ }
+
+ case Toolkit::Slider::MARK_TOLERANCE_PROPERTY:
+ {
+ value = sliderImpl.GetMarkTolerance();
+ break;
+ }
+ }
+ }
+
+ return value;
+}