#include <dali-toolkit/public-api/visuals/visual-properties.h>
#include <dali/devel-api/common/owner-container.h>
#include <dali/integration-api/debug.h>
+#include <map>
#include <memory>
+#include <set>
namespace Dali
{
*/
class Control::Impl : public ConnectionTracker, public Visual::EventObserver
{
- friend class Toolkit::DevelControl::AccessibleImpl;
+ friend class Toolkit::DevelControl::ControlAccessible;
public:
/**
void UpdateVisualProperties(const std::vector<std::pair<Dali::Property::Index, Dali::Property::Map>>& properties);
/**
- * @brief Gets the current control's accessible object.
- *
- * @return The handle to Accessible object
- */
- Dali::Accessibility::Accessible* GetAccessibilityObject();
-
- /**
- * @brief Gets Accessible object handle.
- *
- * The method acquires Accessible handle from Actor object
- * @param actor Actor object
- * @return The handle to Accessible object
+ * @copydoc Dali::Toolkit::Internal::Control::GetAccessibleObject()
*/
- static Dali::Accessibility::Accessible* GetAccessibilityObject(Dali::Actor actor);
+ Toolkit::DevelControl::ControlAccessible* GetAccessibleObject();
private:
/**
int mRightFocusableActorId; ///< Actor ID of Right focusable control.
int mUpFocusableActorId; ///< Actor ID of Up focusable control.
int mDownFocusableActorId; ///< Actor ID of Down focusable control.
+ int mClockwiseFocusableActorId; ///< Actor ID of Clockwise focusable control.
+ int mCounterClockwiseFocusableActorId; ///< Actor ID of Counter clockwise focusable control.
RegisteredVisualContainer mVisuals; ///< Stores visuals needed by the control, non trivial type so std::vector used.
std::string mStyleName;
std::string mAccessibilityName;
std::string mAccessibilityDescription;
std::string mAccessibilityTranslationDomain;
- bool mAccessibilityNameSet = false;
- bool mAccessibilityDescriptionSet = false;
- bool mAccessibilityTranslationDomainSet = false;
- bool mAccessibilityHighlightable = false;
- bool mAccessibilityHighlightableSet = false;
+ bool mAccessibilityHighlightable = false;
+ bool mAccessibilityHidden = false;
Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN;
- std::vector<std::vector<Accessibility::Address>> mAccessibilityRelations;
- std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Actor)> mAccessibilityConstructor;
- std::unique_ptr<Dali::Accessibility::Accessible> mAccessibilityObject;
+ std::map<Dali::Accessibility::RelationType, std::set<Accessibility::Accessible*>> mAccessibilityRelations;
+ std::unique_ptr<Toolkit::DevelControl::ControlAccessible> mAccessibleObject;
// Gesture Detection
PinchGestureDetector mPinchGestureDetector;
static const PropertyRegistration PROPERTY_20;
static const PropertyRegistration PROPERTY_21;
static const PropertyRegistration PROPERTY_22;
+ static const PropertyRegistration PROPERTY_23;
+ static const PropertyRegistration PROPERTY_24;
+ static const PropertyRegistration PROPERTY_25;
private:
// Accessibility - notification for highlighted object to check if it is showing.