[dali_2.3.22] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / control / control-data-impl.h
index bd7378f..b2109ee 100644 (file)
@@ -455,6 +455,21 @@ public:
    */
   Toolkit::DevelControl::ControlAccessible* GetAccessibleObject();
 
+  /**
+   * @copydoc Dali::Toolkit::DevelControl::IsAccessibleCreated()
+   */
+  bool IsAccessibleCreated() const;
+
+  /**
+   * @copydoc Dali::Toolkit::DevelControl::EnableCreateAccessible()
+   */
+  void EnableCreateAccessible(bool enable);
+
+  /**
+   * @copydoc Dali::Toolkit::DevelControl::IsCreateAccessibleEnabled()
+   */
+  bool IsCreateAccessibleEnabled() const;
+
 private:
   /**
    * Used as an alternative to boolean so that it is obvious whether a visual is enabled/disabled.
@@ -516,10 +531,29 @@ private:
   void RegisterAccessibilityPositionPropertyNotification();
 
   /**
-   * @brief Remove property notification added by RegisterPropertyNotification
+   * @brief Remove property notification added by RegisterAccessibilityPositionPropertyNotification
    */
   void UnregisterAccessibilityPositionPropertyNotification();
 
+  /**
+   * @brief Register PropertySet signal to check highlighted object name and description
+   */
+  void RegisterAccessibilityPropertySetSignal();
+
+  /**
+   * @brief Remove PropertySet signal added by RegisterAccessibilityPropertySetSignal
+   */
+  void UnregisterAccessibilityPropertySetSignal();
+
+  /**
+   * @brief Signal callback of PropertySet when this object is become highlighted, so RegisterAccessibilityPropertySetSignal called.
+   *
+   * @param[in] handle Handle of the control.
+   * @param[in] index The index of property.
+   * @param[in] value The value of property.
+   */
+  void OnAccessibilityPropertySet(Dali::Handle& handle, Dali::Property::Index index, const Dali::Property::Value& value);
+
 public:
   Control&            mControlImpl;
   DevelControl::State mState;
@@ -564,6 +598,7 @@ public:
 
   bool mAccessibilityHighlightable = false;
   bool mAccessibilityHidden        = false;
+  bool mAccessibleCreatable        = true;
 
   Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN;
 
@@ -622,6 +657,7 @@ public:
 private:
   // Accessibility - notification for highlighted object to check if it is showing.
   bool                                        mIsAccessibilityPositionPropertyNotificationSet{false};
+  bool                                        mIsAccessibilityPropertySetSignalRegistered{false};
   Dali::PropertyNotification                  mAccessibilityPositionNotification;
   Dali::Accessibility::ScreenRelativeMoveType mAccessibilityLastScreenRelativeMoveType{Accessibility::ScreenRelativeMoveType::OUTSIDE};
 };