From dc47fce2d925a4fd929331354e22f502435ef4f1 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 24 Nov 2021 13:12:39 +0100 Subject: LibGUI: Add GUI::Window::try_set_main_widget(...) This is a fallible variant of set_main_widget() that returns ErrorOr. --- Userland/Libraries/LibGUI/Window.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Userland/Libraries/LibGUI/Window.h') 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) { -- cgit v1.2.3