diff --git a/Userland/Libraries/LibGUI/Window.h b/Userland/Libraries/LibGUI/Window.h index 3e5ee31bbf..8cca40b193 100644 --- a/Userland/Libraries/LibGUI/Window.h +++ b/Userland/Libraries/LibGUI/Window.h @@ -135,6 +135,14 @@ public: const Widget* main_widget() const { return m_main_widget; } void set_main_widget(Widget*); + template + inline ErrorOr> try_set_main_widget(Args&&... args) + { + auto widget = TRY(T::try_create(forward(args)...)); + set_main_widget(widget.ptr()); + return widget; + } + template inline T& set_main_widget(Args&&... args) {