diff options
| author | Eugen Wissner <belka@caraus.de> | 2025-04-07 22:59:26 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2025-04-07 22:59:26 +0200 |
| commit | de94f3d35557b4590e0c11de303d9d9c51217d5f (patch) | |
| tree | b3f7ae08dd02ec2c4b84ddecc743602b607c0b57 /cli/component.hpp | |
| parent | 24ecc7becd7a59d151f7ae14645b7b762452b168 (diff) | |
| download | kazbek-de94f3d35557b4590e0c11de303d9d9c51217d5f.tar.gz | |
katja: Update to ftxui 6
Diffstat (limited to 'cli/component.hpp')
| -rw-r--r-- | cli/component.hpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cli/component.hpp b/cli/component.hpp index fe02d0b..dff9a0f 100644 --- a/cli/component.hpp +++ b/cli/component.hpp @@ -1,6 +1,6 @@ #pragma once -#include <algorithm> +#include <ftxui/component/event.hpp> #include <ftxui/component/component_base.hpp> #include <ftxui/component/component.hpp> @@ -15,28 +15,31 @@ namespace katja }; using Page = std::shared_ptr<PageBase>; + using Pages = std::vector<Page>; - class PageContainer final : public ftxui::ComponentBase + class ScreenContainer final : public ftxui::ComponentBase { int menu_selected{ 0 }; ftxui::Component menu; ftxui::Component content; std::vector<std::string> menu_entries; - - public: + Pages menu_pages; std::function<void()> on_enter; - PageContainer(std::vector<std::pair<std::string, Page>> pages); + public: + ScreenContainer(std::vector<std::pair<std::string, Page>> pages, std::function<void()> on_enter); - ftxui::Element Render() override; + ftxui::Element OnRender() override; bool OnEvent(ftxui::Event event) override; }; + ftxui::Component Screen(std::vector<std::pair<std::string, Page>> pages, std::function<void()> on_enter); + class WelcomePage final : public PageBase { public: void Load() override; - ftxui::Element Render() override; + ftxui::Element OnRender() override; }; class UpdatesPage final : public PageBase @@ -47,7 +50,7 @@ namespace katja explicit UpdatesPage(std::vector<package_identifier>&& updatable); void Load() override; - ftxui::Element Render() override; + ftxui::Element OnRender() override; }; class SearchPage final : public PageBase |
