mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 09:00:44 +00:00
Add a static function for programmatically closing tool windows
This commit is contained in:
@@ -274,6 +274,28 @@ void ToolWindowManager::removeToolWindow(QWidget *toolWindow) {
|
||||
delete toolWindow;
|
||||
}
|
||||
|
||||
void ToolWindowManager::closeToolWindow(QWidget *toolWindow) {
|
||||
if (!toolWindow) {
|
||||
qWarning("NULL tool window");
|
||||
return;
|
||||
}
|
||||
|
||||
// search up to find the first parent manager
|
||||
QWidget *parent = toolWindow->parentWidget();
|
||||
while(parent) {
|
||||
ToolWindowManager *manager = qobject_cast<ToolWindowManager*>(parent);
|
||||
|
||||
if(manager) {
|
||||
manager->removeToolWindow(toolWindow);
|
||||
return;
|
||||
}
|
||||
|
||||
parent = parent->parentWidget();
|
||||
}
|
||||
|
||||
qWarning("window not child of any tool window");
|
||||
}
|
||||
|
||||
QWidget* ToolWindowManager::createToolWindow(const QString& objectName)
|
||||
{
|
||||
if (m_createCallback) {
|
||||
|
||||
@@ -234,6 +234,8 @@ public:
|
||||
*/
|
||||
void hideToolWindow(QWidget* toolWindow) { moveToolWindow(toolWindow, NoArea); }
|
||||
|
||||
static void closeToolWindow(QWidget *toolWindow);
|
||||
|
||||
/*!
|
||||
* \brief saveState
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user