本文整理汇总了C++中Widget::IsContainer方法的典型用法代码示例。如果您正苦于以下问题:C++ Widget::IsContainer方法的具体用法?C++ Widget::IsContainer怎么用?C++ Widget::IsContainer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Widget
的用法示例。
在下文中一共展示了Widget::IsContainer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EnableChildren
void Container::EnableChildren()
{
for (std::vector< RefCountedPtr<Widget> >::iterator i = m_widgets.begin(); i != m_widgets.end(); ++i) {
Widget *w = (*i).Get();
w->SetDisabled(false);
if (w->IsContainer()) {
static_cast<Container*>(w)->EnableChildren();
}
}
}
示例2: if
Widget *Container::GetWidgetAt(const Point &pos)
{
if (!Contains(pos)) return 0;
for (WidgetIterator i = WidgetsBegin(); i != WidgetsEnd(); ++i) {
Widget *widget = (*i).Get();
const Point relpos = pos - widget->GetPosition() - widget->GetDrawOffset();
if (widget->IsContainer()) {
Widget* w = static_cast<Container*>(widget)->GetWidgetAt(relpos);
if (w) return w;
} else if (widget->Contains(relpos))
return widget;
}
return this;
}
示例3: CollectShortcuts
void Container::CollectShortcuts(std::map<KeySym,Widget*> &shortcuts)
{
{
const std::set<KeySym> &widgetShortcuts = GetShortcuts();
if (!widgetShortcuts.empty())
for (std::set<KeySym>::const_iterator j = widgetShortcuts.begin(); j != widgetShortcuts.end(); ++j)
shortcuts[*j] = this;
}
for (WidgetIterator i = WidgetsBegin(); i != WidgetsEnd(); ++i) {
Widget *widget = (*i).Get();
if (widget->IsContainer())
static_cast<Container*>(widget)->CollectShortcuts(shortcuts);
else {
const std::set<KeySym> &widgetShortcuts = widget->GetShortcuts();
if (!widgetShortcuts.empty())
for (std::set<KeySym>::const_iterator j = widgetShortcuts.begin(); j != widgetShortcuts.end(); ++j)
shortcuts[*j] = widget;
}
}
}