mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-21 18:15:58 +00:00
GameOfLife: Use the GML compiler
This commit is contained in:
parent
3930702bd2
commit
649c7ee11f
|
@ -4,18 +4,15 @@ serenity_component(
|
|||
TARGETS GameOfLife
|
||||
)
|
||||
|
||||
stringify_gml(GameOfLife.gml GameOfLifeGML.h game_of_life_gml)
|
||||
compile_gml(GameOfLife.gml GameOfLifeGML.cpp)
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
Board.cpp
|
||||
BoardWidget.cpp
|
||||
GameOfLifeGML.cpp
|
||||
Pattern.cpp
|
||||
)
|
||||
|
||||
set(GENERATED_SOURCES
|
||||
GameOfLifeGML.h
|
||||
)
|
||||
|
||||
serenity_app(GameOfLife ICON app-gameoflife)
|
||||
target_link_libraries(GameOfLife PRIVATE LibCore LibGfx LibGUI LibMain LibDesktop)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@GUI::Widget {
|
||||
@GameOfLife::MainWidget {
|
||||
layout: @GUI::VerticalBoxLayout {}
|
||||
|
||||
@GUI::ToolbarContainer {
|
||||
|
|
23
Userland/Games/GameOfLife/MainWidget.h
Normal file
23
Userland/Games/GameOfLife/MainWidget.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Tim Ledbetter <timledbetter@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibGUI/Widget.h>
|
||||
|
||||
namespace GameOfLife {
|
||||
|
||||
class MainWidget : public GUI::Widget {
|
||||
C_OBJECT_ABSTRACT(MainWidget)
|
||||
public:
|
||||
static ErrorOr<NonnullRefPtr<MainWidget>> try_create();
|
||||
virtual ~MainWidget() override = default;
|
||||
|
||||
private:
|
||||
MainWidget() = default;
|
||||
};
|
||||
|
||||
}
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
|
||||
#include "BoardWidget.h"
|
||||
#include "MainWidget.h"
|
||||
#include <AK/Try.h>
|
||||
#include <AK/URL.h>
|
||||
#include <Games/GameOfLife/GameOfLifeGML.h>
|
||||
#include <LibCore/System.h>
|
||||
#include <LibDesktop/Launcher.h>
|
||||
#include <LibGUI/Application.h>
|
||||
|
@ -53,8 +53,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
window->set_double_buffering_enabled(false);
|
||||
window->set_title("Game of Life");
|
||||
|
||||
auto main_widget = window->set_main_widget<GUI::Widget>();
|
||||
TRY(main_widget->load_from_gml(game_of_life_gml));
|
||||
auto main_widget = TRY(GameOfLife::MainWidget::try_create());
|
||||
window->set_main_widget(main_widget);
|
||||
main_widget->set_fill_with_background_color(true);
|
||||
|
||||
auto& main_toolbar = *main_widget->find_descendant_of_type_named<GUI::Toolbar>("toolbar");
|
||||
|
|
Loading…
Reference in a new issue