[dali_2.3.24] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / buttons / button-impl.h
index 315e4c5..0701d3c 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_INTERNAL_BUTTON_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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,8 +24,8 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
-#include <dali-toolkit/internal/controls/control/control-data-impl.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
 
 namespace Dali
@@ -322,6 +322,11 @@ protected: // From Control
   bool OnAccessibilityActivated() override;
 
   /**
+   * @copydoc Toolkit::Internal::Control::CreateAccessibleObject()
+   */
+  DevelControl::ControlAccessible* CreateAccessibleObject() override;
+
+  /**
    * @copydoc Toolkit::Control::OnKeyboardEnter()
    */
   bool OnKeyboardEnter() override;
@@ -372,6 +377,11 @@ private:
   void OnTap(Actor actor, const TapGesture& tap);
 
   /**
+   * @copydoc Control::OnTap
+   */
+  using Control::OnTap;
+
+  /**
    * Sets up the autorepeating timer.
    * @param[in] delay The delay time in seconds.
    */
@@ -535,13 +545,25 @@ private:
   bool mClickActionPerforming; ///< Used to manage signal emissions during action
 
 protected:
-  struct AccessibleImpl : public Control::Impl::AccessibleImpl
+  class ButtonAccessible : public DevelControl::ControlAccessible
   {
-    using Control::Impl::AccessibleImpl::AccessibleImpl;
+  public:
+    using DevelControl::ControlAccessible::ControlAccessible;
 
+    /**
+     * @copydoc Dali::Toolkit::DevelControl::ControlAccessible::CalculateStates()
+     */
     Dali::Accessibility::States CalculateStates() override;
-    std::string                 GetNameRaw() override;
-    Property::Index             GetNamePropertyIndex() override;
+
+    /**
+     * @copydoc Dali::Toolkit::DevelControl::ControlAccessible::GetNameRaw()
+     */
+    std::string GetNameRaw() const override;
+
+    /**
+     * @copydoc Dali::Toolkit::DevelControl::ControlAccessible::GetNamePropertyIndex()
+     */
+    Property::Index GetNamePropertyIndex() override;
   };
 };