Removed On(...)Event()
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / scrollable / scroll-view / scroll-view-impl.cpp
index 8b9d384..1273cd1 100644 (file)
@@ -28,6 +28,7 @@
 #include <dali/public-api/object/type-registry-helper.h>
 #include <dali/public-api/object/property-map.h>
 #include <dali/devel-api/object/property-helper-devel.h>
+#include <dali/devel-api/events/pan-gesture-devel.h>
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
@@ -628,7 +629,7 @@ Dali::Toolkit::ScrollView ScrollView::New()
 }
 
 ScrollView::ScrollView()
-: ScrollBase( ControlBehaviour( REQUIRES_WHEEL_EVENTS | DISABLE_STYLE_CHANGE_SIGNALS ) ),   // Enable size negotiation
+: ScrollBase( ControlBehaviour( DISABLE_STYLE_CHANGE_SIGNALS ) ),   // Enable size negotiation
   mTouchDownTime(0u),
   mGestureStackDepth(0),
   mScrollStateFlags(0),
@@ -688,8 +689,8 @@ void ScrollView::OnInitialize()
 
   mGestureStackDepth = 0;
 
-  self.TouchSignal().Connect( this, &ScrollView::OnTouch );
-  EnableGestureDetection( Gesture::Type( Gesture::Pan ) );
+  self.TouchedSignal().Connect( this, &ScrollView::OnTouch );
+  EnableGestureDetection( GestureType::Value( GestureType::PAN ) );
 
   // By default we'll allow the user to freely drag the scroll view,
   // while disabling the other rulers.
@@ -702,6 +703,9 @@ void ScrollView::OnInitialize()
 
   UpdatePropertyDomain();
   SetInternalConstraints();
+
+  // Connect wheel event
+  self.WheelEventSignal().Connect( this, &ScrollView::OnWheelEvent );
 }
 
 void ScrollView::OnSceneConnection( int depth )
@@ -1002,7 +1006,7 @@ void ScrollView::SetScrollSensitive(bool sensitive)
     // while the scroll view is panning, the state needs to be reset.
     if ( mPanning )
     {
-      PanGesture cancelGesture( Gesture::Cancelled );
+      PanGesture cancelGesture = DevelPanGesture::New( GestureState::CANCELLED );
       OnPan( cancelGesture );
     }
 
@@ -2128,7 +2132,7 @@ bool ScrollView::OnTouch( Actor actor, const TouchEvent& touch )
   return false;
 }
 
-bool ScrollView::OnWheelEvent(const WheelEvent& event)
+bool ScrollView::OnWheelEvent( Actor actor, const WheelEvent& event)
 {
   if(!mSensitive)
   {
@@ -2447,7 +2451,7 @@ void ScrollView::GestureContinuing(const Vector2& panDelta)
   mPanDelta.y+= panDelta.y;
 
   // Save the velocity, there is a bug in PanGesture
-  // Whereby the Gesture::Finished's velocity is either:
+  // Whereby the GestureState::FINISHED's velocity is either:
   // NaN (due to time delta of zero between the last two events)
   // or 0 (due to position being the same between the last two events)
 
@@ -2460,7 +2464,7 @@ void ScrollView::GestureContinuing(const Vector2& panDelta)
 }
 
 // TODO: Upgrade to use a more powerful gesture detector (one that supports multiple touches on pan - so works as pan and flick gesture)
-// BUG: Gesture::Finished doesn't always return velocity on release (due to
+// BUG: GestureState::FINISHED doesn't always return velocity on release (due to
 // timeDelta between last two events being 0 sometimes, or posiiton being the same)
 void ScrollView::OnPan( const PanGesture& gesture )
 {
@@ -2478,17 +2482,18 @@ void ScrollView::OnPan( const PanGesture& gesture )
   }
 
   // translate Gesture input to get useful data...
-  switch(gesture.state)
+  switch(gesture.GetState())
   {
-    case Gesture::Started:
+    case GestureState::STARTED:
     {
       DALI_LOG_SCROLL_STATE("[0x%X] Pan Started", this);
-      mPanStartPosition = gesture.position - gesture.displacement;
+      const Vector2& position = gesture.GetPosition();
+      mPanStartPosition = position - gesture.GetDisplacement();
       UpdateLocalScrollProperties();
       GestureStarted();
       mPanning = true;
       self.SetProperty( Toolkit::ScrollView::Property::PANNING, true );
-      self.SetProperty( Toolkit::ScrollView::Property::START_PAGE_POSITION, Vector3(gesture.position.x, gesture.position.y, 0.0f) );
+      self.SetProperty( Toolkit::ScrollView::Property::START_PAGE_POSITION, Vector3(position.x, position.y, 0.0f) );
 
       UpdateMainInternalConstraint();
       Toolkit::ScrollBar scrollBar = mScrollBar.GetHandle();
@@ -2506,12 +2511,12 @@ void ScrollView::OnPan( const PanGesture& gesture )
       break;
     }
 
-    case Gesture::Continuing:
+    case GestureState::CONTINUING:
     {
       if ( mPanning )
       {
         DALI_LOG_SCROLL_STATE("[0x%X] Pan Continuing", this);
-        GestureContinuing(gesture.screenDisplacement);
+        GestureContinuing(gesture.GetScreenDisplacement());
       }
       else
       {
@@ -2521,15 +2526,15 @@ void ScrollView::OnPan( const PanGesture& gesture )
       break;
     }
 
-    case Gesture::Finished:
-    case Gesture::Cancelled:
+    case GestureState::FINISHED:
+    case GestureState::CANCELLED:
     {
       if ( mPanning )
       {
-        DALI_LOG_SCROLL_STATE("[0x%X] Pan %s", this, ( ( gesture.state == Gesture::Finished ) ? "Finished" : "Cancelled" ) );
+        DALI_LOG_SCROLL_STATE("[0x%X] Pan %s", this, ( ( gesture.GetState() == GestureState::FINISHED ) ? "Finished" : "Cancelled" ) );
 
         UpdateLocalScrollProperties();
-        mLastVelocity = gesture.velocity;
+        mLastVelocity = gesture.GetVelocity();
         mPanning = false;
         self.SetProperty( Toolkit::ScrollView::Property::PANNING, false );
 
@@ -2552,8 +2557,8 @@ void ScrollView::OnPan( const PanGesture& gesture )
       break;
     }
 
-    case Gesture::Possible:
-    case Gesture::Clear:
+    case GestureState::POSSIBLE:
+    case GestureState::CLEAR:
     {
       // Nothing to do, not needed.
       break;
@@ -2561,14 +2566,14 @@ void ScrollView::OnPan( const PanGesture& gesture )
 
   } // end switch(gesture.state)
 
-  OnGestureEx(gesture.state);
+  OnGestureEx(gesture.GetState());
 }
 
-void ScrollView::OnGestureEx(Gesture::State state)
+void ScrollView::OnGestureEx(GestureState state)
 {
   // call necessary signals for application developer
 
-  if(state == Gesture::Started)
+  if(state == GestureState::STARTED)
   {
     Vector2 currentScrollPosition = GetCurrentScrollPosition();
     Self().SetProperty(Toolkit::ScrollView::Property::SCROLLING, true);
@@ -2576,8 +2581,8 @@ void ScrollView::OnGestureEx(Gesture::State state)
     DALI_LOG_SCROLL_STATE("[0x%X] mScrollStartedSignal 2 [%.2f, %.2f]", this, currentScrollPosition.x, currentScrollPosition.y);
     mScrollStartedSignal.Emit( currentScrollPosition );
   }
-  else if( (state == Gesture::Finished) ||
-           (state == Gesture::Cancelled) ) // Finished/default
+  else if( (state == GestureState::FINISHED) ||
+           (state == GestureState::CANCELLED) ) // Finished/default
   {
     // when all the gestures have finished, we finish the transform.
     // so if a user decides to pan (1 gesture), and then pan+zoom (2 gestures)