X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-selection-toolbar-impl.cpp;h=792dead80d2e37efcb7ebf1ed70ef1f0b650da54;hp=358ace6a0605730489e634f68cf94cb673f9ed92;hb=f546dd5d83a968e573f8f053a01ce43df32c71a0;hpb=7098ad0a9a657b68b37d5fd759662a2d08b47433 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 358ace6..792dead 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 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ // EXTERNAL INCLUDES #include -#include #include #include #include @@ -30,6 +29,7 @@ #include #include #include +#include namespace Dali { @@ -167,6 +167,11 @@ Property::Value TextSelectionToolbar::GetProperty( BaseObject* object, Property: void TextSelectionToolbar::OnInitialize() { SetUp(); + + DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) { + return std::unique_ptr< Dali::Accessibility::Accessible >( + new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR )); + } ); } void TextSelectionToolbar::OnRelayout( const Vector2& size, RelayoutContainer& container ) @@ -178,17 +183,17 @@ void TextSelectionToolbar::OnRelayout( const Vector2& size, RelayoutContainer& c if( mScrollBar ) { float barWidth = std::min( mTableOfButtons.GetNaturalSize().width, size.width ) - 2.f * mScrollBarPadding.x; - mScrollBar.SetSize( Vector2( 0.0f, barWidth ) ); + mScrollBar.SetProperty( Actor::Property::SIZE, Vector2( 0.0f, barWidth ) ); } } void TextSelectionToolbar::SetPopupMaxSize( const Size& maxSize ) { mMaxSize = maxSize; - if (mScrollView && mToolbarLayer ) + if( mScrollView && mToolbarActor ) { - mScrollView.SetMaximumSize( mMaxSize ); - mToolbarLayer.SetMaximumSize( mMaxSize ); + mScrollView.SetProperty( Actor::Property::MAXIMUM_SIZE, mMaxSize ); + mToolbarActor.SetProperty( Actor::Property::MAXIMUM_SIZE, mMaxSize ); } } @@ -199,10 +204,10 @@ const Dali::Vector2& TextSelectionToolbar::GetPopupMaxSize() const void TextSelectionToolbar::SetUpScrollView() { - mScrollView.SetName("TextSelectionScrollView"); + mScrollView.SetProperty( Dali::Actor::Property::NAME,"TextSelectionScrollView"); mScrollView.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); - mScrollView.SetParentOrigin( ParentOrigin::CENTER_LEFT ); - mScrollView.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); + mScrollView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER_LEFT ); + mScrollView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER_LEFT ); mScrollView.SetScrollingDirection( PanGestureDetector::DIRECTION_HORIZONTAL, Degree( 40.0f ) ); mScrollView.SetAxisAutoLock( true ); @@ -225,11 +230,11 @@ void TextSelectionToolbar::SetUp() self.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); - // Create Layer to house the toolbar. - mToolbarLayer = Layer::New(); - mToolbarLayer.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); - mToolbarLayer.SetAnchorPoint( AnchorPoint::CENTER ); - mToolbarLayer.SetParentOrigin( ParentOrigin::CENTER ); + // Create Actor to house the toolbar. + mToolbarActor = Actor::New(); + mToolbarActor.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS ); + mToolbarActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); + mToolbarActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); if( !mScrollView ) { @@ -240,13 +245,13 @@ void TextSelectionToolbar::SetUp() // Toolbar must start with at least one option, adding further options with increase it's size mTableOfButtons = Dali::Toolkit::TableView::New( 1, 1 ); mTableOfButtons.SetFitHeight( 0 ); - mTableOfButtons.SetParentOrigin( ParentOrigin::CENTER_LEFT ); - mTableOfButtons.SetAnchorPoint( AnchorPoint::CENTER_LEFT ); + mTableOfButtons.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER_LEFT ); + mTableOfButtons.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER_LEFT ); mScrollView.Add( mTableOfButtons ); - mToolbarLayer.Add( mScrollView ); + mToolbarActor.Add( mScrollView ); - self.Add( mToolbarLayer ); + self.Add( mToolbarActor ); } void TextSelectionToolbar::SetUpScrollBar( bool enable ) @@ -256,18 +261,18 @@ void TextSelectionToolbar::SetUpScrollBar( bool enable ) if( ! mScrollBar ) { Toolkit::ImageView indicator = Toolkit::ImageView::New(); - indicator.SetParentOrigin( ParentOrigin::TOP_LEFT ); - indicator.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + indicator.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + indicator.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); indicator.SetStyleName( "TextSelectionScrollIndicator" ); - mScrollBar = Toolkit::ScrollBar::New( Toolkit::ScrollBar::Horizontal ); - mScrollBar.SetName( "Text popup scroll bar" ); + mScrollBar = Toolkit::ScrollBar::New( Toolkit::ScrollBar::HORIZONTAL ); + mScrollBar.SetProperty( Dali::Actor::Property::NAME, "Text popup scroll bar" ); mScrollBar.SetStyleName( "TextSelectionScrollBar" ); - mScrollBar.SetParentOrigin( ParentOrigin::BOTTOM_LEFT ); - mScrollBar.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - mScrollBar.SetPosition( mScrollBarPadding.x, -mScrollBarPadding.y ); + mScrollBar.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_LEFT ); + mScrollBar.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + mScrollBar.SetProperty( Actor::Property::POSITION, Vector2( mScrollBarPadding.x, -mScrollBarPadding.y )); mScrollBar.SetResizePolicy( Dali::ResizePolicy::FIT_TO_CHILDREN, Dali::Dimension::WIDTH ); - mScrollBar.SetOrientation( Quaternion( Radian( 1.5f * Math::PI ), Vector3::ZAXIS ) ); + mScrollBar.SetProperty( Actor::Property::ORIENTATION, Quaternion( Quaternion( Radian( 1.5f * Math::PI ), Vector3::ZAXIS ) ) ); mScrollBar.SetScrollIndicator( indicator ); mScrollBar.GetPanGestureDetector().DetachAll(); mScrollView.Add( mScrollBar ); @@ -285,13 +290,13 @@ void TextSelectionToolbar::OnScrollStarted( const Vector2& position ) { mScrollView.SetOvershootEnabled( true ); } - mTableOfButtons.SetSensitive( false ); + mTableOfButtons.SetProperty( Actor::Property::SENSITIVE, false ); } void TextSelectionToolbar::OnScrollCompleted( const Vector2& position ) { mFirstScrollEnd = true; - mTableOfButtons.SetSensitive( true ); + mTableOfButtons.SetProperty( Actor::Property::SENSITIVE, true ); } void TextSelectionToolbar::AddOption( Actor& option ) @@ -312,14 +317,14 @@ void TextSelectionToolbar::ResizeDividers( Size& size ) for( unsigned int i = 0; i < mDividerIndexes.Count(); ++i ) { Actor divider = mTableOfButtons.GetChildAt( Toolkit::TableView::CellPosition( 0, mDividerIndexes[ i ] ) ); - divider.SetSize( size ); + divider.SetProperty( Actor::Property::SIZE, size ); } RelayoutRequest(); } -void TextSelectionToolbar::RaiseAbove( Layer target ) +void TextSelectionToolbar::RaiseAbove( Actor target ) { - mToolbarLayer.RaiseAbove( target ); + mToolbarActor.RaiseAbove( target ); } void TextSelectionToolbar::SetScrollBarPadding( const Vector2& padding ) @@ -327,7 +332,7 @@ void TextSelectionToolbar::SetScrollBarPadding( const Vector2& padding ) mScrollBarPadding = padding; if( mScrollBar ) { - mScrollBar.SetPosition( mScrollBarPadding.x, -mScrollBarPadding.y ); + mScrollBar.SetProperty( Actor::Property::POSITION, Vector2( mScrollBarPadding.x, -mScrollBarPadding.y )); } RelayoutRequest();