// EXTERNAL INCLUDES
#include <dali/devel-api/actors/actor-devel.h>
+#include <dali/public-api/object/type-info.h>
// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/window-devel.h>
}
}
+void ActorAccessible::UpdateAttributes(Attributes& attributes) const
+{
+ static const std::string classKey = "class";
+
+ Accessible::UpdateAttributes(attributes);
+
+ if(attributes.find(classKey) == attributes.end())
+ {
+ Dali::TypeInfo typeInfo;
+ Self().GetTypeInfo(typeInfo);
+ if(typeInfo)
+ {
+ attributes.emplace(classKey, typeInfo.GetName());
+ }
+ }
+}
+
void ActorAccessible::UpdateChildren()
{
if(!mChildrenDirty)
// Erase-remove idiom
// TODO (C++20): Replace with std::erase_if
auto it = std::remove_if(mChildren.begin(), mChildren.end(), [](const Accessible* child) {
- return !child;
+ return !child || child->IsHidden();
});
mChildren.erase(it, mChildren.end());
mChildren.shrink_to_fit();