本文整理汇总了C++中TabWidget::discardGuiPointer方法的典型用法代码示例。如果您正苦于以下问题:C++ TabWidget::discardGuiPointer方法的具体用法?C++ TabWidget::discardGuiPointer怎么用?C++ TabWidget::discardGuiPointer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TabWidget
的用法示例。
在下文中一共展示了TabWidget::discardGuiPointer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
GuiPrivate::notifyGuiClosing()
{
///This is to workaround an issue that when destroying a widget it calls the focusOut() handler hence can
///cause bad pointer dereference to the Gui object since we're destroying it.
std::list<TabWidgetI*> tabs = _gui->getApp()->getTabWidgetsSerialization();
for (std::list<TabWidgetI*>::iterator it = tabs.begin(); it != tabs.end(); ++it) {
TabWidget* tab = dynamic_cast<TabWidget*>(*it);
if (!tab) {
continue;
}
tab->discardGuiPointer();
for (int i = 0; i < tab->count(); ++i) {
tab->tabAt(i)->notifyGuiClosingPublic();
}
}
const NodesGuiList allNodes = _nodeGraphArea->getAllActiveNodes();
// we do not need this list anymore, avoid using it
_gui->getApp()->clearSettingsPanels();
for (NodesGuiList::const_iterator it = allNodes.begin(); it != allNodes.end(); ++it) {
DockablePanel* panel = (*it)->getSettingPanel();
if (panel) {
panel->onGuiClosing();
}
}
_lastFocusedGraph = 0;
}