X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Fscroll-bar%2Fscroll-bar-impl.cpp;h=dc33722826f8b8e614d35d0a23c73760229ed6a4;hb=865bc7d9efba2ba1ddc5e365ce99fa94ae3e9187;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..dc33722 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 @@ -186,35 +186,11 @@ void ScrollBar::OnScrollConnectorSet( Toolkit::ScrollConnector oldConnector ) } } -void ScrollBar::SetBackgroundImage( Image image, const Vector4& border ) -{ - if (!mBackground ) - { - mBackground = ImageActor::New( image ); - mBackground.SetParentOrigin( ParentOrigin::TOP_LEFT ); - mBackground.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - Self().Add(mBackground); - } - else - { - mBackground.SetImage(image); - } - mBackground.SetNinePatchBorder( border ); - mBackground.SetStyle( ImageActor::STYLE_NINE_PATCH ); -} - void ScrollBar::SetIndicatorImage( Image image ) { mIndicator.SetImage(image); } -void ScrollBar::SetIndicatorImage( Image image, const Vector4& border ) -{ - mIndicator.SetImage(image); - mIndicator.SetNinePatchBorder( border ); - mIndicator.SetStyle( ImageActor::STYLE_NINE_PATCH ); -} - Actor ScrollBar::GetScrollIndicator() { return mIndicator; @@ -284,7 +260,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 +294,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 +304,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 +321,7 @@ void ScrollBar::OnPan( PanGesture gesture ) } Show(); - mScrollStart = mScrollPositionObject.GetProperty( Toolkit::ScrollConnector::SCROLL_POSITION ); + mScrollStart = mScrollConnector.GetScrollPosition(); mGestureDisplacement = Vector3::ZERO; mIsPanning = true; @@ -377,11 +351,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