mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 09:00:44 +00:00
Add function to close top level windows to MiniQtHelper
This commit is contained in:
@@ -381,6 +381,15 @@ added in a vertical layout.
|
||||
)");
|
||||
virtual QWidget *CreateToplevelWidget(const rdcstr &windowTitle, WidgetCallback closed) = 0;
|
||||
|
||||
DOCUMENT(R"(Closes a top-level widget as if the user had clicked to close.
|
||||
|
||||
This function is undefined if used on a non top-level widget. It will invoke the closed widget
|
||||
callback.
|
||||
|
||||
:param QWidget widget: The top-level widget to close.
|
||||
)");
|
||||
virtual void CloseToplevelWidget(QWidget *widget) = 0;
|
||||
|
||||
// widget hierarchy
|
||||
|
||||
DOCUMENT(R"(Set the internal name of a widget. This is not displayed anywhere but can be used by
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "Widgets/Extended/RDLineEdit.h"
|
||||
#include "Widgets/Extended/RDTextEdit.h"
|
||||
#include "Widgets/Extended/RDToolButton.h"
|
||||
#include "toolwindowmanager/ToolWindowManager.h"
|
||||
|
||||
MiniQtHelper::MiniQtHelper(ICaptureContext &ctx) : m_Ctx(ctx)
|
||||
{
|
||||
@@ -98,6 +99,12 @@ QWidget *MiniQtHelper::CreateToplevelWidget(const rdcstr &windowTitle, WidgetCal
|
||||
return ret;
|
||||
}
|
||||
|
||||
void MiniQtHelper::CloseToplevelWidget(QWidget *widget)
|
||||
{
|
||||
if(widget)
|
||||
ToolWindowManager::closeToolWindow(widget);
|
||||
}
|
||||
|
||||
void MiniQtHelper::SetWidgetName(QWidget *widget, const rdcstr &name)
|
||||
{
|
||||
if(widget)
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
void InvokeOntoUIThread(std::function<void()> callback) override;
|
||||
|
||||
QWidget *CreateToplevelWidget(const rdcstr &windowTitle, WidgetCallback closed) override;
|
||||
void CloseToplevelWidget(QWidget *widget) override;
|
||||
|
||||
// widget hierarchy
|
||||
|
||||
|
||||
@@ -99,6 +99,10 @@ struct MiniQtInvoker : ObjectForwarder<IMiniQtHelper>
|
||||
{
|
||||
return InvokeRetFunction<QWidget *>(&IMiniQtHelper::CreateToplevelWidget, windowTitle, closed);
|
||||
}
|
||||
void CloseToplevelWidget(QWidget *widget)
|
||||
{
|
||||
InvokeVoidFunction(&IMiniQtHelper::CloseToplevelWidget, widget);
|
||||
}
|
||||
|
||||
// widget hierarchy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user