/*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 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.
#include <dali/integration-api/debug.h>
#include <dali/public-api/animation/constraint.h>
#include <dali/public-api/math/math-utils.h>
-#include <dali/public-api/object/type-info.h>
-#include <dali/public-api/object/type-registry-helper.h>
#include <dali/public-api/size-negotiation/relayout-container.h>
#include <cstring> // for strcmp
#include <limits>
#include <stack>
-#include <typeinfo>
// INTERNAL INCLUDES
#include <dali-toolkit/dali-toolkit.h>
return Toolkit::KeyboardFocusManager::Get().IsFocusGroup(Self());
}
-void Control::AccessibilityActivate()
-{
- // Inform deriving classes
- OnAccessibilityActivated();
-}
-
void Control::KeyboardEnter()
{
// Inform deriving classes
{
SetKeyboardNavigationSupport(true);
}
-
- Dali::TypeInfo type;
- Self().GetTypeInfo(type);
- if(type)
- {
- auto typeName = type.GetName();
- DevelControl::AppendAccessibilityAttribute(Toolkit::Control::DownCast(Self()), "class", typeName);
- }
}
void Control::OnInitialize()
if(Accessibility::IsUp())
{
- auto self = GetAccessibleObject();
- self->EmitFocused(focusGained);
- auto parent = self->GetParent();
- if(parent && !self->GetStates()[Dali::Accessibility::State::MANAGES_DESCENDANTS])
+ auto accessible = GetAccessibleObject();
+ if(DALI_LIKELY(accessible))
{
- parent->EmitActiveDescendantChanged(self);
+ accessible->EmitFocused(focusGained);
+ auto parent = accessible->GetParent();
+ if(parent && !accessible->GetStates()[Dali::Accessibility::State::MANAGES_DESCENDANTS])
+ {
+ parent->EmitActiveDescendantChanged(accessible);
+ }
}
}
}
case Actor::Property::VISIBLE:
{
- GetAccessibleObject()->EmitVisible(Self().GetProperty<bool>(Actor::Property::VISIBLE));
+ auto* accessible = GetAccessibleObject();
+ if(DALI_LIKELY(accessible))
+ {
+ accessible->EmitVisible(Self().GetProperty<bool>(Actor::Property::VISIBLE));
+ }
break;
}
case DevelActor::Property::USER_INTERACTION_ENABLED: