mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 08:17:35 +00:00
ThemeEditor: Make GUI initialization fallible
To do this, all GUI logic is moved into try_create() factory functions.
This commit is contained in:
parent
fa98034ff7
commit
59d9d1d07a
4 changed files with 78 additions and 47 deletions
|
@ -77,9 +77,10 @@ struct PropertyTab {
|
|||
};
|
||||
|
||||
class MainWidget final : public GUI::Widget {
|
||||
C_OBJECT(MainWidget);
|
||||
C_OBJECT_ABSTRACT(MainWidget);
|
||||
|
||||
public:
|
||||
static ErrorOr<NonnullRefPtr<MainWidget>> try_create();
|
||||
virtual ~MainWidget() override = default;
|
||||
|
||||
ErrorOr<void> initialize_menubar(GUI::Window&);
|
||||
|
@ -88,7 +89,7 @@ public:
|
|||
ErrorOr<void> load_from_file(Core::File&);
|
||||
|
||||
private:
|
||||
MainWidget();
|
||||
explicit MainWidget(NonnullRefPtr<AlignmentModel>);
|
||||
|
||||
void save_to_file(Core::File&);
|
||||
ErrorOr<Core::AnonymousBuffer> encode();
|
||||
|
@ -96,7 +97,7 @@ private:
|
|||
|
||||
void build_override_controls();
|
||||
|
||||
void add_property_tab(PropertyTab const&);
|
||||
ErrorOr<void> add_property_tab(PropertyTab const&);
|
||||
void set_alignment(Gfx::AlignmentRole, Gfx::TextAlignment);
|
||||
void set_color(Gfx::ColorRole, Gfx::Color);
|
||||
void set_flag(Gfx::FlagRole, bool);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue