s[Dali::Accessibility::State::HIGHLIGHTED] = GetCurrentlyHighlightedActor() == self;
s[Dali::Accessibility::State::ENABLED] = true;
s[Dali::Accessibility::State::SENSITIVE] = true;
- s[Dali::Accessibility::State::ANIMATED] = self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED).Get<bool>();
s[Dali::Accessibility::State::VISIBLE] = true;
if(modal)
{
auto actor = Toolkit::ImageView::New(focusBorderImagePath);
actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
DevelControl::AppendAccessibilityAttribute(actor, "highlight", "");
- actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED, true);
actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, false);
return actor;
}
+void AccessibleImpl::ScrollToSelf()
+{
+ auto* child = this;
+ auto* parent = dynamic_cast<Toolkit::DevelControl::AccessibleImpl*>(child->GetParent());
+
+ while (parent)
+ {
+ if (parent->IsScrollable())
+ {
+ parent->ScrollToChild(child->Self());
+ }
+
+ child = parent;
+ parent = dynamic_cast<Toolkit::DevelControl::AccessibleImpl*>(parent->GetParent());
+ }
+}
+
bool AccessibleImpl::GrabHighlight()
{
Dali::Actor self = Self();
// Remember the highlight actor, so that when the default is changed with
// SetHighlightActor(), the currently displayed highlight can still be cleared.
currentHighlightActor = highlight;
- EnsureSelfVisible();
+ ScrollToSelf();
self.Add(highlight);
SetCurrentlyHighlightedActor(self);
EmitHighlighted(true);
return ret;
}
-void AccessibleImpl::EnsureChildVisible(Actor child)
-{
-}
-
-void AccessibleImpl::EnsureSelfVisible()
+bool AccessibleImpl::ScrollToChild(Actor child)
{
- auto parent = dynamic_cast<AccessibleImpl*>(GetParent());
- if(parent)
- {
- parent->EnsureChildVisible(Self());
- }
+ return false;
}
Dali::Property::Index AccessibleImpl::GetNamePropertyIndex()