X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-selection-toolbar-impl.cpp;h=e26614d15158747d6f9e0fec429fe464e6b5c3fa;hb=1303adb9af25ae1b954cbb9c59c643313c42b04a;hp=756c44d8146d19343fbd9cf0f6dce99cef57c780;hpb=88e94c0533741de9664d32968a85f18db5a4c5dd;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp index 756c44d..e26614d 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.cpp @@ -52,6 +52,7 @@ BaseHandle Create() DALI_TYPE_REGISTRATION_BEGIN( Toolkit::TextSelectionToolbar, Toolkit::Control, Create ); DALI_PROPERTY_REGISTRATION( Toolkit, TextSelectionToolbar, "max-size", VECTOR2, MAX_SIZE ) +DALI_PROPERTY_REGISTRATION( Toolkit, TextSelectionToolbar, "enable-overshoot", BOOLEAN, ENABLE_OVERSHOOT ) DALI_TYPE_REGISTRATION_END() @@ -87,7 +88,11 @@ void TextSelectionToolbar::SetProperty( BaseObject* object, Property::Index inde impl.SetPopupMaxSize( value.Get< Vector2 >() ); break; } - + case Toolkit::TextSelectionToolbar::Property::ENABLE_OVERSHOOT: + { + impl.mScrollView.SetOvershootEnabled( value.Get< bool >() ); + break; + } } // switch } // TextSelectionToolbar } @@ -109,6 +114,11 @@ Property::Value TextSelectionToolbar::GetProperty( BaseObject* object, Property: value = impl.GetPopupMaxSize(); break; } + case Toolkit::TextSelectionToolbar::Property::ENABLE_OVERSHOOT: + { + value = impl.mScrollView.IsOvershootEnabled(); + break; + } } // switch } return value; @@ -154,6 +164,11 @@ void TextSelectionToolbar::OnStageConnection( int depth ) void TextSelectionToolbar::SetPopupMaxSize( const Size& maxSize ) { mMaxSize = maxSize; + if (mScrollView && mStencilLayer ) + { + mScrollView.SetMaximumSize( mMaxSize ); + mStencilLayer.SetMaximumSize( mMaxSize ); + } } const Dali::Vector2& TextSelectionToolbar::GetPopupMaxSize() const @@ -161,23 +176,24 @@ const Dali::Vector2& TextSelectionToolbar::GetPopupMaxSize() const return mMaxSize; } -void TextSelectionToolbar::SetUpScrollView( Toolkit::ScrollView& scrollView ) +void TextSelectionToolbar::SetUpScrollView() { - scrollView.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); - scrollView.SetParentOrigin( ParentOrigin::CENTER_LEFT ); - scrollView.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); - scrollView.SetMaximumSize( mMaxSize ); + mScrollView.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); + mScrollView.SetParentOrigin( ParentOrigin::CENTER_LEFT ); + mScrollView.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); - scrollView.SetScrollingDirection( PanGestureDetector::DIRECTION_HORIZONTAL, Degree( 40.0f ) ); - scrollView.SetAxisAutoLock( true ); - scrollView.ScrollStartedSignal().Connect( this, &TextSelectionToolbar::OnScrollStarted ); - scrollView.ScrollCompletedSignal().Connect( this, &TextSelectionToolbar::OnScrollCompleted ); + mScrollView.SetScrollingDirection( PanGestureDetector::DIRECTION_HORIZONTAL, Degree( 40.0f ) ); + mScrollView.SetAxisAutoLock( true ); + mScrollView.ScrollStartedSignal().Connect( this, &TextSelectionToolbar::OnScrollStarted ); + mScrollView.ScrollCompletedSignal().Connect( this, &TextSelectionToolbar::OnScrollCompleted ); mRulerX = new DefaultRuler(); // IntrusivePtr which is unreferenced when ScrollView is destroyed. RulerPtr rulerY = new DefaultRuler(); // IntrusivePtr which is unreferenced when ScrollView is destroyed. rulerY->Disable(); - scrollView.SetRulerY( rulerY ); + mScrollView.SetRulerY( rulerY ); + + mScrollView.SetOvershootEnabled( true ); } void TextSelectionToolbar::SetUp() @@ -189,7 +205,6 @@ void TextSelectionToolbar::SetUp() mStencilLayer = Layer::New(); mStencilLayer.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); mStencilLayer.SetParentOrigin( ParentOrigin::CENTER ); - mStencilLayer.SetMaximumSize( mMaxSize ); ImageActor stencil = CreateSolidColorActor( Color::RED ); stencil.SetDrawMode( DrawMode::STENCIL ); @@ -198,7 +213,7 @@ void TextSelectionToolbar::SetUp() stencil.SetParentOrigin( ParentOrigin::CENTER ); mScrollView = Toolkit::ScrollView::New(); - SetUpScrollView( mScrollView ); + SetUpScrollView(); // Toolbar must start with at least one option, adding further options with increase it's size mTableOfButtons = Dali::Toolkit::TableView::New( 1, 1 ); @@ -252,8 +267,8 @@ void TextSelectionToolbar::RaiseAbove( Layer target ) } TextSelectionToolbar::TextSelectionToolbar() -: Control( ControlBehaviour( ControlBehaviour( ACTOR_BEHAVIOUR_NONE ) ) ), - mMaxSize ( DEFAULT_MAX_SIZE ), +: Control( ControlBehaviour( ControlBehaviour( REQUIRES_STYLE_CHANGE_SIGNALS ) ) ), + mMaxSize (), mIndexInTable( 0 ), mDividerIndexes() {