diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index 029b41c3111..cd4fde81109 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -686,6 +686,11 @@ QWidget *Layout::emerge() const return widget; } +void Layout::show() const +{ + return emerge()->show(); +} + // "Widgets" Widget::Widget(std::initializer_list ps) diff --git a/src/libs/utils/layoutbuilder.h b/src/libs/utils/layoutbuilder.h index 020ac32f9d0..3a7eca26a57 100644 --- a/src/libs/utils/layoutbuilder.h +++ b/src/libs/utils/layoutbuilder.h @@ -156,6 +156,7 @@ public: void fieldGrowthPolicy(int policy); QWidget *emerge() const; + void show() const; QFormLayout *asForm(); QGridLayout *asGrid(); diff --git a/src/plugins/lua/bindings/inheritance.h b/src/plugins/lua/bindings/inheritance.h index 066f2f02154..5e6703e75f0 100644 --- a/src/plugins/lua/bindings/inheritance.h +++ b/src/plugins/lua/bindings/inheritance.h @@ -99,7 +99,7 @@ SOL_BASE_CLASSES(Layouting::Row, Layouting::Layout); SOL_BASE_CLASSES(Layouting::Flow, Layouting::Layout); SOL_BASE_CLASSES(Layouting::Grid, Layouting::Layout); SOL_BASE_CLASSES(Layouting::Form, Layouting::Layout); -SOL_BASE_CLASSES(Layouting::Widget, Layouting::Widget); +SOL_BASE_CLASSES(Layouting::Widget, Layouting::Object); SOL_BASE_CLASSES(Layouting::Stack, Layouting::Widget); SOL_BASE_CLASSES(Layouting::Tab, Layouting::Widget); SOL_BASE_CLASSES(Layouting::Group, Layouting::Widget); diff --git a/src/plugins/lua/bindings/layout.cpp b/src/plugins/lua/bindings/layout.cpp index 0ba62be101b..2a0c1574fb2 100644 --- a/src/plugins/lua/bindings/layout.cpp +++ b/src/plugins/lua/bindings/layout.cpp @@ -231,6 +231,15 @@ void addLayoutModule() "Stretch", sol::call_constructor, sol::constructors()); // Layouts + layout.new_usertype( + "Layout", + sol::call_constructor, + sol::factories(&construct), + "show", + &Layout::show, + sol::base_classes, + sol::bases()); + layout.new_usertype
( "Form", sol::call_constructor,