Merge "Use Renderer::BlendMode::USE_ACTOR_OPACITY instead to use depth write mode...
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / popup / popup-impl.cpp
index f811812..bc65701 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -343,11 +343,12 @@ void Popup::OnInitialize()
 
   SetupTouch();
 
-  DevelControl::AppendAccessibilityAttribute(Toolkit::Control::DownCast(self), "sub-role", "Alert");
+  self.SetProperty(DevelControl::Property::ACCESSIBILITY_ROLE, Dali::Accessibility::Role::DIALOG);
+}
 
-  DevelControl::SetAccessibilityConstructor(self, [](Dali::Actor actor) {
-    return std::unique_ptr<Dali::Accessibility::Accessible>(new AccessibleImpl(actor, Dali::Accessibility::Role::DIALOG, true));
-  });
+DevelControl::ControlAccessible* Popup::CreateAccessibleObject()
+{
+  return new PopupAccessible(Self());
 }
 
 Popup::~Popup()
@@ -986,7 +987,7 @@ void Popup::SetTailVisibility(bool visible)
   mLayoutDirty = true;
 }
 
-const bool Popup::IsTailVisible() const
+bool Popup::IsTailVisible() const
 {
   return mTailVisible;
 }
@@ -1064,7 +1065,7 @@ void Popup::SetBackingEnabled(bool enabled)
   mLayoutDirty    = true;
 }
 
-const bool Popup::IsBackingEnabled() const
+bool Popup::IsBackingEnabled() const
 {
   return mBackingEnabled;
 }
@@ -1138,7 +1139,7 @@ void Popup::SetTouchTransparent(bool enabled)
   }
 }
 
-const bool Popup::IsTouchTransparent() const
+bool Popup::IsTouchTransparent() const
 {
   return mTouchTransparent;
 }
@@ -1994,7 +1995,7 @@ void Popup::SetupTouch()
   }
 }
 
-std::string Popup::AccessibleImpl::GetNameRaw() const
+std::string Popup::PopupAccessible::GetNameRaw() const
 {
   auto        popup = Toolkit::Popup::DownCast(Self());
   std::string title;
@@ -2016,13 +2017,14 @@ std::string Popup::AccessibleImpl::GetNameRaw() const
   return title;
 }
 
-Dali::Accessibility::States Popup::AccessibleImpl::CalculateStates()
+Dali::Accessibility::States Popup::PopupAccessible::CalculateStates()
 {
   auto states       = DevelControl::ControlAccessible::CalculateStates();
   auto popup        = Toolkit::Popup::DownCast(Self());
   auto displayState = popup.GetProperty<std::string>(Toolkit::Popup::Property::DISPLAY_STATE);
 
   states[Dali::Accessibility::State::SHOWING] = (displayState == "SHOWN" || displayState == "SHOWING");
+  states[Dali::Accessibility::State::MODAL]   = true;
 
   return states;
 }