X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Fscroll-bar%2Fscroll-bar-impl.cpp;h=6298e7dbb96b61233f726c7481f7efcf5a865989;hb=004616ae48eb31d8ba643411222b40b74f2fb220;hp=2a4db69634a006f892dec03dec87dabae17f22c1;hpb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp b/base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp index 2a4db69..6298e7d 100755 --- a/base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp +++ b/base/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp @@ -284,7 +284,7 @@ void ScrollBar::SetPositionNotifications( const std::vector& positions ) void ScrollBar::OnScrollPositionNotified(PropertyNotification& source) { // Emit the signal to notify the scroll position crossing - mScrollPositionNotifiedSignal.Emit(mScrollPositionObject.GetProperty( Toolkit::ScrollConnector::SCROLL_POSITION )); + mScrollPositionNotifiedSignal.Emit(mScrollConnector.GetScrollPosition()); } void ScrollBar::Show() @@ -318,13 +318,9 @@ void ScrollBar::Hide() bool ScrollBar::OnPanGestureProcessTick() { // Update the scroll position property. - mScrollPositionObject.SetProperty( Toolkit::ScrollConnector::SCROLL_POSITION, mCurrentScrollPosition ); - - Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent()); - if(itemView) + if( mScrollConnector ) { - // Refresh ItemView immediately when the scroll position is changed. - GetImpl(itemView).DoRefresh(mCurrentScrollPosition, false); // No need to cache extra items. + mScrollConnector.SetScrollPosition(mCurrentScrollPosition); } return true; @@ -332,8 +328,10 @@ bool ScrollBar::OnPanGestureProcessTick() void ScrollBar::OnPan( PanGesture gesture ) { - if(mScrollPositionObject) + if(mScrollConnector) { + Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent()); + switch(gesture.state) { case Gesture::Started: @@ -347,7 +345,7 @@ void ScrollBar::OnPan( PanGesture gesture ) } Show(); - mScrollStart = mScrollPositionObject.GetProperty( Toolkit::ScrollConnector::SCROLL_POSITION ); + mScrollStart = mScrollConnector.GetScrollPosition(); mGestureDisplacement = Vector3::ZERO; mIsPanning = true; @@ -377,11 +375,16 @@ void ScrollBar::OnPan( PanGesture gesture ) mTimer.Reset(); } + if(itemView) + { + // Refresh the ItemView cache with extra items + GetImpl(itemView).DoRefresh(mCurrentScrollPosition, true); + } + break; } } - Dali::Toolkit::ItemView itemView = Dali::Toolkit::ItemView::DownCast(Self().GetParent()); if(itemView) { // Disable automatic refresh in ItemView during fast scrolling