[AT-SPI] Fix role setting
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / text-controls / text-selection-toolbar-impl.cpp
index 3a0ccfd..792dead 100644 (file)
@@ -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 <cfloat>
-#include <dali/public-api/images/buffer-image.h>
 #include <dali/public-api/math/vector2.h>
 #include <dali/public-api/math/vector4.h>
 #include <dali/public-api/object/property-map.h>
@@ -30,6 +29,7 @@
 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
 #include <dali-toolkit/devel-api/controls/control-depth-index-ranges.h>
 #include <dali-toolkit/internal/helpers/color-conversion.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
 
 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.SetProperty( Actor::Property::MAXIMUM_SIZE, mMaxSize );
-    mToolbarLayer.SetProperty( Actor::Property::MAXIMUM_SIZE, mMaxSize );
+    mToolbarActor.SetProperty( Actor::Property::MAXIMUM_SIZE, mMaxSize );
   }
 }
 
@@ -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.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
-  mToolbarLayer.SetProperty( Actor::Property::PARENT_ORIGIN, 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 )
   {
@@ -244,9 +249,9 @@ void TextSelectionToolbar::SetUp()
   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 )
@@ -260,14 +265,14 @@ void TextSelectionToolbar::SetUpScrollBar( bool enable )
       indicator.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
       indicator.SetStyleName( "TextSelectionScrollIndicator" );
 
-      mScrollBar = Toolkit::ScrollBar::New( Toolkit::ScrollBar::Horizontal );
+      mScrollBar = Toolkit::ScrollBar::New( Toolkit::ScrollBar::HORIZONTAL );
       mScrollBar.SetProperty( Dali::Actor::Property::NAME, "Text popup scroll bar" );
       mScrollBar.SetStyleName( "TextSelectionScrollBar" );
       mScrollBar.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_LEFT );
       mScrollBar.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-      mScrollBar.SetPosition( mScrollBarPadding.x, -mScrollBarPadding.y );
+      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 );
@@ -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();