X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscroll-bar%2Fscroll-bar-impl.cpp;h=a61f6f0b89ce7397c012e11c12dab39bc64e87f2;hb=c8ffcb9f46ded14981915479af62d85970798db5;hp=02267f57af84c1e0fee524489e54c035ae33bc1d;hpb=61cec43aa084293be7e3002db0a24de1cd9a2677;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp index 02267f5..a61f6f0 100755 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp @@ -19,8 +19,10 @@ #include // EXTERNAL INCLUDES +#include #include #include +#include // INTERNAL INCLUDES #include @@ -120,7 +122,9 @@ BaseHandle Create() return Toolkit::ScrollBar::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::ScrollBar), typeid(Toolkit::ScrollComponent), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::ScrollBar ), typeid( Toolkit::ScrollComponent ), Create ); + +const char* const SCROLL_POSITION_NOTIFIED_SIGNAL_NAME = "scroll-position-notified"; PropertyRegistration property1( typeRegistration, "indicator-height-policy", Toolkit::ScrollBar::PROPERTY_INDICATOR_HEIGHT_POLICY, Property::STRING, &ScrollBar::SetProperty, &ScrollBar::GetProperty ); PropertyRegistration property2( typeRegistration, "indicator-fixed-height", Toolkit::ScrollBar::PROPERTY_INDICATOR_FIXED_HEIGHT, Property::FLOAT, &ScrollBar::SetProperty, &ScrollBar::GetProperty ); @@ -148,7 +152,7 @@ void ScrollBar::OnInitialize() { Actor self = Self(); - Image indicatorImage = Image::New( DEFAULT_INDICATOR_IMAGE_PATH ); + Image indicatorImage = ResourceImage::New( DEFAULT_INDICATOR_IMAGE_PATH ); mIndicator = ImageActor::New( indicatorImage ); mIndicator.SetNinePatchBorder( DEFAULT_INDICATOR_NINE_PATCH_BORDER ); mIndicator.SetStyle( ImageActor::STYLE_NINE_PATCH ); @@ -216,9 +220,9 @@ void ScrollBar::ApplyConstraints() mIndicator.RemoveConstraint(mIndicatorPositionConstraint); } - constraint = Constraint::New( Actor::POSITION, - LocalSource( Actor::SIZE ), - ParentSource( Actor::SIZE ), + constraint = Constraint::New( Actor::Property::Position, + LocalSource( Actor::Property::Size ), + ParentSource( Actor::Property::Size ), Source( mScrollPositionObject, Toolkit::ScrollConnector::SCROLL_POSITION ), IndicatorPositionConstraint( mScrollConnector.GetMinLimit(), mScrollConnector.GetMaxLimit() ) ); mIndicatorPositionConstraint = mIndicator.ApplyConstraint( constraint ); @@ -437,6 +441,26 @@ void ScrollBar::OnIndicatorHeightPolicyPropertySet( Property::Value propertyValu } } +bool ScrollBar::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) +{ + Dali::BaseHandle handle( object ); + + bool connected( true ); + Toolkit::ScrollBar scrollBar = Toolkit::ScrollBar::DownCast( handle ); + + if( 0 == strcmp( signalName.c_str(), SCROLL_POSITION_NOTIFIED_SIGNAL_NAME ) ) + { + scrollBar.ScrollPositionNotifiedSignal().Connect( tracker, functor ); + } + else + { + // signalName does not match any signal + connected = false; + } + + return connected; +} + void ScrollBar::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ) { Toolkit::ScrollBar scrollBar = Toolkit::ScrollBar::DownCast( Dali::BaseHandle( object ) );