diff --git a/Userland/Applications/SpaceAnalyzer/CMakeLists.txt b/Userland/Applications/SpaceAnalyzer/CMakeLists.txt index 7cfe96b4ca..5ae1961511 100644 --- a/Userland/Applications/SpaceAnalyzer/CMakeLists.txt +++ b/Userland/Applications/SpaceAnalyzer/CMakeLists.txt @@ -3,18 +3,15 @@ serenity_component( TARGETS SpaceAnalyzer ) -stringify_gml(SpaceAnalyzer.gml SpaceAnalyzerGML.h space_analyzer_gml) +compile_gml(SpaceAnalyzer.gml SpaceAnalyzerGML.cpp) set(SOURCES ProgressWindow.cpp + SpaceAnalyzerGML.cpp Tree.cpp TreeMapWidget.cpp main.cpp ) -set(GENERATED_SOURCES - SpaceAnalyzerGML.h -) - serenity_app(SpaceAnalyzer ICON app-space-analyzer) target_link_libraries(SpaceAnalyzer PRIVATE LibCore LibDesktop LibFileSystem LibGfx LibGUI LibIPC LibMain) diff --git a/Userland/Applications/SpaceAnalyzer/MainWidget.h b/Userland/Applications/SpaceAnalyzer/MainWidget.h new file mode 100644 index 0000000000..25fd3a836f --- /dev/null +++ b/Userland/Applications/SpaceAnalyzer/MainWidget.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2023, the SerenityOS developers. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +namespace SpaceAnalyzer { + +class MainWidget final : public GUI::Widget { + C_OBJECT(MainWidget) +public: + static ErrorOr> try_create(); + virtual ~MainWidget() override = default; + +private: + MainWidget() = default; +}; + +} diff --git a/Userland/Applications/SpaceAnalyzer/SpaceAnalyzer.gml b/Userland/Applications/SpaceAnalyzer/SpaceAnalyzer.gml index 79ebf6bdb0..adc40d06f6 100644 --- a/Userland/Applications/SpaceAnalyzer/SpaceAnalyzer.gml +++ b/Userland/Applications/SpaceAnalyzer/SpaceAnalyzer.gml @@ -1,4 +1,4 @@ -@GUI::Widget { +@SpaceAnalyzer::MainWidget { layout: @GUI::VerticalBoxLayout { spacing: 0 } diff --git a/Userland/Applications/SpaceAnalyzer/TreeMapWidget.cpp b/Userland/Applications/SpaceAnalyzer/TreeMapWidget.cpp index d5e0916d83..8f4602667c 100644 --- a/Userland/Applications/SpaceAnalyzer/TreeMapWidget.cpp +++ b/Userland/Applications/SpaceAnalyzer/TreeMapWidget.cpp @@ -17,8 +17,6 @@ #include #include -REGISTER_WIDGET(SpaceAnalyzer, TreeMapWidget) - namespace SpaceAnalyzer { static constexpr Array colors = { diff --git a/Userland/Applications/SpaceAnalyzer/main.cpp b/Userland/Applications/SpaceAnalyzer/main.cpp index ce4c09ab58..8a954e0bd1 100644 --- a/Userland/Applications/SpaceAnalyzer/main.cpp +++ b/Userland/Applications/SpaceAnalyzer/main.cpp @@ -5,12 +5,12 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include "MainWidget.h" #include "Tree.h" #include "TreeMapWidget.h" #include #include #include -#include #include #include #include @@ -53,8 +53,9 @@ ErrorOr serenity_main(Main::Arguments arguments) window->set_icon(app_icon.bitmap_for_size(16)); // Load widgets. - auto main_widget = window->set_main_widget(); - TRY(main_widget->load_from_gml(space_analyzer_gml)); + auto main_widget = TRY(SpaceAnalyzer::MainWidget::try_create()); + window->set_main_widget(main_widget); + auto& breadcrumbbar = *main_widget->find_descendant_of_type_named("breadcrumbbar"); auto& tree_map_widget = *main_widget->find_descendant_of_type_named("tree_map"); auto& statusbar = *main_widget->find_descendant_of_type_named("statusbar");