本文整理汇总了C++中View::IsAccessibilityFocusableInRootView方法的典型用法代码示例。如果您正苦于以下问题:C++ View::IsAccessibilityFocusableInRootView方法的具体用法?C++ View::IsAccessibilityFocusableInRootView怎么用?C++ View::IsAccessibilityFocusableInRootView使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类View
的用法示例。
在下文中一共展示了View::IsAccessibilityFocusableInRootView方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RestoreFocusedView
void FocusManager::RestoreFocusedView()
{
ViewStorage* view_storage = ViewStorage::GetSharedInstance();
if(!view_storage)
{
// This should never happen but bug 981648 seems to indicate it could.
NOTREACHED();
return;
}
View* view = view_storage->RetrieveView(stored_focused_view_storage_id_);
if(view)
{
if(ContainsView(view))
{
if(!view->IsFocusableInRootView() &&
view->IsAccessibilityFocusableInRootView())
{
// RequestFocus would fail, but we want to restore focus to controls
// that had focus in accessibility mode.
SetFocusedViewWithReason(view, kReasonFocusRestore);
}
else
{
// This usually just sets the focus if this view is focusable, but
// let the view override RequestFocus if necessary.
view->RequestFocus();
// If it succeeded, the reason would be incorrect; set it to
// focus restore.
if(focused_view_ == view)
{
focus_change_reason_ = kReasonFocusRestore;
}
}
}
}
else
{
// Clearing the focus will focus the root window, so we still get key
// events.
ClearFocus();
}
}