本文整理汇总了C++中WidgetPtr::_onKeyChangeRootFocus方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::_onKeyChangeRootFocus方法的具体用法?C++ WidgetPtr::_onKeyChangeRootFocus怎么用?C++ WidgetPtr::_onKeyChangeRootFocus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WidgetPtr
的用法示例。
在下文中一共展示了WidgetPtr::_onKeyChangeRootFocus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setKeyFocusWidget
void InputManager::setKeyFocusWidget(WidgetPtr _widget)
{
// ищем рутовый фокус
WidgetPtr root = _widget;
if (root != null) { while (root->_getOwner() != null) root = root->_getOwner(); }
// если рутовый фокус поменялся, то оповещаем
if (mWidgetRootKeyFocus != root) {
if (mWidgetRootKeyFocus != null) mWidgetRootKeyFocus->_onKeyChangeRootFocus(false);
if (root != null) root->_onKeyChangeRootFocus(true);
mWidgetRootKeyFocus = root;
}
// а вот тут уже проверяем обыкновенный фокус
if (_widget == mWidgetKeyFocus) return;
if (isFocusKey()) mWidgetKeyFocus->_onKeyLostFocus(_widget);
if (_widget != null) {
if (_widget->isNeedKeyFocus()) {
_widget->_onKeySetFocus(mWidgetKeyFocus);
mWidgetKeyFocus = _widget;
return;
}
}
mWidgetKeyFocus = null;
}