DALi signals refactor to remove V2 naming
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / internal / controls / scrollable / scrollable-impl.cpp
index 95d22b5..36e713f 100644 (file)
@@ -36,6 +36,7 @@ namespace Toolkit
 {
 
 const Property::Index Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR( Toolkit::Internal::Control::CONTROL_PROPERTY_END_INDEX + 1 );
+const Property::Index Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED( Toolkit::Internal::Control::CONTROL_PROPERTY_END_INDEX + 2 );
 
 namespace Internal
 {
@@ -43,6 +44,7 @@ namespace Internal
 namespace
 {
 const Vector4 DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.25f);
+const float DEFAULT_OVERSHOOT_ANIMATION_SPEED(120.0f); // 120 pixels per second
 
 BaseHandle Create()
 {
@@ -64,6 +66,13 @@ PropertyRegistration property1( mType,
                                 &Scrollable::SetProperty,
                                 &Scrollable::GetProperty );
 
+PropertyRegistration property2( mType,
+                                "overshoot-animation-speed",
+                                Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED,
+                                Property::FLOAT,
+                                &Scrollable::SetProperty,
+                                &Scrollable::GetProperty );
+
 }
 
 const std::string Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL( "scrollable-can-scroll-vertical" );
@@ -78,6 +87,7 @@ const std::string Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL( "scrollable-can-
 Scrollable::Scrollable()
 : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS | NO_SIZE_NEGOTIATION ) ),
   mOvershootEffectColor(  DEFAULT_OVERSHOOT_COLOUR ),
+  mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ),
   mPropertyRelativePosition(Property::INVALID_INDEX),
   mPropertyPositionMin(Property::INVALID_INDEX),
   mPropertyPositionMax(Property::INVALID_INDEX),
@@ -169,24 +179,34 @@ Vector4 Scrollable::GetOvershootEffectColor() const
   return mOvershootEffectColor;
 };
 
-Toolkit::Scrollable::ScrollStartedSignalV2& Scrollable::ScrollStartedSignal()
+void Scrollable::SetOvershootAnimationSpeed( float pixelsPerSecond )
+{
+  mOvershootAnimationSpeed = pixelsPerSecond;
+}
+
+float Scrollable::GetOvershootAnimationSpeed() const
+{
+  return mOvershootAnimationSpeed;
+};
+
+Toolkit::Scrollable::ScrollStartedSignalType& Scrollable::ScrollStartedSignal()
 {
-  return mScrollStartedSignalV2;
+  return mScrollStartedSignal;
 }
 
-Toolkit::Scrollable::ScrollUpdatedSignalV2& Scrollable::ScrollUpdatedSignal()
+Toolkit::Scrollable::ScrollUpdatedSignalType& Scrollable::ScrollUpdatedSignal()
 {
-  return mScrollUpdatedSignalV2;
+  return mScrollUpdatedSignal;
 }
 
-Toolkit::Scrollable::ScrollCompletedSignalV2& Scrollable::ScrollCompletedSignal()
+Toolkit::Scrollable::ScrollCompletedSignalType& Scrollable::ScrollCompletedSignal()
 {
-  return mScrollCompletedSignalV2;
+  return mScrollCompletedSignal;
 }
 
-Toolkit::Scrollable::ScrollClampedSignalV2& Scrollable::ScrollClampedSignal()
+Toolkit::Scrollable::ScrollClampedSignalType& Scrollable::ScrollClampedSignal()
 {
-  return mScrollClampedSignalV2;
+  return mScrollClampedSignal;
 }
 
 bool Scrollable::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
@@ -235,6 +255,11 @@ void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P
         scrollableImpl.SetOvershootEffectColor( value.Get<Vector4>() );
         break;
       }
+      case Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED:
+      {
+        scrollableImpl.SetOvershootAnimationSpeed( value.Get<float>() );
+        break;
+      }
     }
   }
 }
@@ -255,6 +280,11 @@ Property::Value Scrollable::GetProperty( BaseObject* object, Property::Index ind
         value = scrollableImpl.GetOvershootEffectColor();
         break;
       }
+      case Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED:
+      {
+        value = scrollableImpl.GetOvershootAnimationSpeed();
+        break;
+      }
     }
   }
 
@@ -277,9 +307,10 @@ Toolkit::ScrollComponent Scrollable::NewScrollComponent(Toolkit::Scrollable& scr
       instance = static_cast<Toolkit::ScrollComponent>(Toolkit::ScrollBarInternal::New(scrollable, false));
       break;
     }
-    default:
+    case Toolkit::Scrollable::OvershootIndicator:
     {
-      DALI_ASSERT_ALWAYS(true && "Unrecognized component type");
+      DALI_ASSERT_ALWAYS(!"Unrecognized component type");
+      break;
     }
   }