From 5e9ee71018d29bffc44503a59b0852d05b4ff489 Mon Sep 17 00:00:00 2001 From: Maria Bialota Date: Fri, 25 Sep 2020 22:11:58 +0200 Subject: [PATCH] [AT-SPI] Implemented reading popup description Change-Id: I7d50c772b18d5f6679e23e3e287dcdff03e61e95 --- .../internal/controls/popup/popup-impl.cpp | 25 ++++++++++++++++++++++ dali-toolkit/internal/controls/popup/popup-impl.h | 1 + 2 files changed, 26 insertions(+) diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index 8e18342..092569c 100644 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -43,6 +43,7 @@ #include #include #include +#include using namespace Dali; @@ -339,6 +340,8 @@ void Popup::OnInitialize() SetupTouch(); + DevelControl::AppendAccessibilityAttribute(self, "sub-role", "Alert"); + DevelControl::SetAccessibilityConstructor(self, [](Dali::Actor actor) { return std::unique_ptr(new AccessibleImpl(actor, Dali::Accessibility::Role::DIALOG, true)); @@ -1998,6 +2001,28 @@ void Popup::SetupTouch() } } +std::string Popup::AccessibleImpl::GetNameRaw() +{ + auto popup = Toolkit::Popup::DownCast( self ); + std::string title; + Actor popupTitle = popup.GetTitle(); + if (popupTitle) + { + std::string titleText = popupTitle.GetProperty(Toolkit::TextLabel::Property::TEXT); + title = titleText; + } + else + { + Actor popupContent = popup.GetContent(); + if (popupContent) + { + std::string contentText = popupContent.GetProperty(Toolkit::TextLabel::Property::TEXT); + title = contentText; + } + } + return title; +} + Dali::Accessibility::States Popup::AccessibleImpl::CalculateStates() { auto states = Control::Impl::AccessibleImpl::CalculateStates(); diff --git a/dali-toolkit/internal/controls/popup/popup-impl.h b/dali-toolkit/internal/controls/popup/popup-impl.h index 359570b..e9dffef 100644 --- a/dali-toolkit/internal/controls/popup/popup-impl.h +++ b/dali-toolkit/internal/controls/popup/popup-impl.h @@ -249,6 +249,7 @@ protected: { using Control::Impl::AccessibleImpl::AccessibleImpl; + std::string GetNameRaw() override; Dali::Accessibility::States CalculateStates() override; }; -- 2.7.4