[AT-SPI] Squashed implementation
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / tool-bar / tool-bar-impl.cpp
index 851945d..0ca6e72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -24,7 +24,8 @@
 #include <dali/public-api/object/type-registry-helper.h>
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/controls/alignment/alignment.h>
+#include <dali-toolkit/devel-api/controls/alignment/alignment.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
 
 namespace Dali
 {
@@ -47,7 +48,7 @@ DALI_TYPE_REGISTRATION_BEGIN( Toolkit::ToolBar, Toolkit::Control, Create )
 DALI_TYPE_REGISTRATION_END()
 
 const float DEFAULT_RELATIVE_SIZE( 0.1f );
-const Toolkit::Alignment::Type DEFAULT_ALIGNMENT( Toolkit::Alignment::HorizontalLeft );
+const Toolkit::Alignment::Type DEFAULT_ALIGNMENT( Toolkit::Alignment::HORIZONTAL_LEFT );
 } // namespace
 
 Toolkit::ToolBar ToolBar::New()
@@ -71,7 +72,7 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
   unsigned int index = 0;
   switch( alignment )
   {
-    case Toolkit::Alignment::HorizontalLeft:
+    case Toolkit::Alignment::HORIZONTAL_LEFT:
     {
       index = mLeftOffset;
       ++mLeftOffset;
@@ -79,14 +80,14 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
       ++mRightBase;
       break;
     }
-    case Toolkit::Alignment::HorizontalCenter:
+    case Toolkit::Alignment::HORIZONTAL_CENTER:
     {
       index = mCenterBase + mCenterOffset;
       ++mCenterOffset;
       ++mRightBase;
       break;
     }
-    case Toolkit::Alignment::HorizontalRight:
+    case Toolkit::Alignment::HORIZONTAL_RIGHT:
     {
       index = mRightBase - mRightOffset;
       ++mRightBase;
@@ -104,7 +105,7 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
 
   // Create an alignment container where to place the control.
   Toolkit::Alignment alignmentContainer = Toolkit::Alignment::New( alignment );
-  alignmentContainer.SetSizeScalePolicy( SizeScalePolicy::FIT_WITH_ASPECT_RATIO );
+  alignmentContainer.SetProperty( Actor::Property::SIZE_SCALE_POLICY, SizeScalePolicy::FIT_WITH_ASPECT_RATIO );
   alignmentContainer.SetPadding( padding );
   alignmentContainer.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
   alignmentContainer.Add( control );
@@ -122,7 +123,7 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
   // Update spaces between left, center and right groups of controls.
   switch( alignment )
   {
-    case Toolkit::Alignment::HorizontalLeft:
+    case Toolkit::Alignment::HORIZONTAL_LEFT:
     {
       mLeftRelativeSpace -= relativeSize;
       if ( mLeftRelativeSpace < 0.f )
@@ -131,7 +132,7 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
       }
       break;
     }
-    case Toolkit::Alignment::HorizontalCenter:
+    case Toolkit::Alignment::HORIZONTAL_CENTER:
     {
       mLeftRelativeSpace -= 0.5f * relativeSize;
       if ( mLeftRelativeSpace < 0.f )
@@ -145,7 +146,7 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment:
       }
       break;
     }
-    case Toolkit::Alignment::HorizontalRight:
+    case Toolkit::Alignment::HORIZONTAL_RIGHT:
     {
       mRightRelativeSpace -= relativeSize;
       if ( mRightRelativeSpace < 0.f )
@@ -179,18 +180,18 @@ void ToolBar::RemoveControl( Actor control )
     // Update spaces between left, center and right groups of controls.
     if( 1.0 > mAccumulatedRelativeSpace )
     {
-      Toolkit::Alignment::Type alignment = Toolkit::Alignment::HorizontalLeft;
+      Toolkit::Alignment::Type alignment = Toolkit::Alignment::HORIZONTAL_LEFT;
       if( position.columnIndex < mLeftOffset )
       {
-        alignment = Toolkit::Alignment::HorizontalLeft;
+        alignment = Toolkit::Alignment::HORIZONTAL_LEFT;
       }
       else if( ( position.columnIndex > mLeftOffset ) && ( position.columnIndex < mCenterBase + mCenterOffset ) )
       {
-        alignment = Toolkit::Alignment::HorizontalCenter;
+        alignment = Toolkit::Alignment::HORIZONTAL_CENTER;
       }
       else if( position.columnIndex > mCenterBase + mCenterOffset )
       {
-        alignment = Toolkit::Alignment::HorizontalRight;
+        alignment = Toolkit::Alignment::HORIZONTAL_RIGHT;
       }
       else
       {
@@ -201,7 +202,7 @@ void ToolBar::RemoveControl( Actor control )
 
       switch( alignment )
       {
-        case Toolkit::Alignment::HorizontalLeft:
+        case Toolkit::Alignment::HORIZONTAL_LEFT:
         {
           mLeftRelativeSpace += relativeSize;
           if ( mLeftRelativeSpace < 0.f )
@@ -210,7 +211,7 @@ void ToolBar::RemoveControl( Actor control )
           }
           break;
         }
-        case Toolkit::Alignment::HorizontalCenter:
+        case Toolkit::Alignment::HORIZONTAL_CENTER:
         {
           mLeftRelativeSpace += 0.5f * relativeSize;
           if ( mLeftRelativeSpace < 0.f )
@@ -224,7 +225,7 @@ void ToolBar::RemoveControl( Actor control )
           }
           break;
         }
-        case Toolkit::Alignment::HorizontalRight:
+        case Toolkit::Alignment::HORIZONTAL_RIGHT:
         {
           mRightRelativeSpace += relativeSize;
           if ( mRightRelativeSpace < 0.f )
@@ -288,6 +289,10 @@ ToolBar::ToolBar()
   mInitializing( false ),
   mControls()
 {
+  DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) {
+    return std::unique_ptr< Dali::Accessibility::Accessible >(
+      new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::TOOL_BAR, true ) );
+  } );
 }
 
 ToolBar::~ToolBar()
@@ -300,9 +305,9 @@ void ToolBar::OnInitialize()
 
   // Layout
   mLayout = Toolkit::TableView::New( 1, 1 );
-  mLayout.SetName( "TOOLBAR_LAYOUT" );
+  mLayout.SetProperty( Dali::Actor::Property::NAME, "TOOLBAR_LAYOUT" );
   mLayout.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
-  mLayout.SetParentOrigin( ParentOrigin::CENTER );
+  mLayout.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
 
   Self().Add( mLayout );
 
@@ -317,8 +322,6 @@ void ToolBar::OnInitialize()
 
 void ToolBar::OnChildAdd(Actor& child)
 {
-  Control::OnChildAdd( child );
-
   if( !mInitializing )
   {
     // An actor is being added through the Actor's API.
@@ -335,6 +338,8 @@ void ToolBar::OnChildAdd(Actor& child)
   // No OnChildRemove method required because Actors are added to the mLayout table view, so if an
   // actor is removed using the Actor::RemoveChild method it will not remove anything because the
   // actor is in mLayout not in Self().
+
+  Control::OnChildAdd( child );
 }
 
 } // namespace Internal