From 3e72f593966f7aac764ea80da77b90648591aa19 Mon Sep 17 00:00:00 2001 From: Lukasz Papierkowski Date: Wed, 21 Aug 2024 21:09:09 +0200 Subject: [PATCH] LUA: Add Widget close() method to Gui bindings Change-Id: I48d32c2fc9c65010be1bb7a340faebedc4ce3f4a Reviewed-by: Marcus Tillmanns --- src/libs/utils/layoutbuilder.cpp | 5 +++++ src/libs/utils/layoutbuilder.h | 1 + src/plugins/lua/bindings/gui.cpp | 2 ++ src/plugins/lua/meta/gui.lua | 3 +++ 4 files changed, 11 insertions(+) diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index 5ba00f0ed54..afabf0a8cc8 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -746,6 +746,11 @@ void Widget::activateWindow() access(this)->activateWindow(); } +void Widget::close() +{ + access(this)->close(); +} + QWidget *Widget::emerge() const { return access(this); diff --git a/src/libs/utils/layoutbuilder.h b/src/libs/utils/layoutbuilder.h index bd0395ea4a7..b44c5960361 100644 --- a/src/libs/utils/layoutbuilder.h +++ b/src/libs/utils/layoutbuilder.h @@ -230,6 +230,7 @@ public: void setNormalMargins(int = 0); void setContentsMargins(int left, int top, int right, int bottom); void activateWindow(); + void close(); }; class QTCREATOR_UTILS_EXPORT Label : public Widget diff --git a/src/plugins/lua/bindings/gui.cpp b/src/plugins/lua/bindings/gui.cpp index 59f07d4e2bf..02b82e58b98 100644 --- a/src/plugins/lua/bindings/gui.cpp +++ b/src/plugins/lua/bindings/gui.cpp @@ -368,6 +368,8 @@ void setupGuiModule() &Widget::show, "activateWindow", &Widget::activateWindow, + "close", + &Widget::close, sol::base_classes, sol::bases()); diff --git a/src/plugins/lua/meta/gui.lua b/src/plugins/lua/meta/gui.lua index d07f5d78fc8..c5ae14752cf 100644 --- a/src/plugins/lua/meta/gui.lua +++ b/src/plugins/lua/meta/gui.lua @@ -41,6 +41,9 @@ function gui.widget:show() end ---Sets the top-level widget containing this widget to be the active window. (see [QWidget::activateWindow](https://doc.qt.io/qt-5/qwidget.html#activateWindow)) function gui.widget:activateWindow() end +---Closes the widget. (see [QWidget::close](https://doc.qt.io/qt-5/qwidget.html#close)) +function gui.widget:close() end + ---Column layout ---@class Column : Layout local column = {}