[Tizen](ATSPI) squashed implementation
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / tool-bar / tool-bar-impl.cpp
index 46509da..3ce659c 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.
@@ -25,6 +25,7 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/public-api/controls/alignment/alignment.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
 
 namespace Dali
 {
@@ -275,7 +276,7 @@ void ToolBar::RemoveControl( Actor control )
 }
 
 ToolBar::ToolBar()
-: Control( ControlBehaviour( ACTOR_BEHAVIOUR_NONE ) ),
+: Control( ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
   mLayout(),
   mLeftOffset( 0 ),
   mCenterBase( 1 ),
@@ -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()
@@ -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