Renamed ScreenPage to Page, Event to EventPage.

This commit is contained in:
Yohan Boujon 2025-05-08 17:57:31 +02:00
parent c526374738
commit 09528d1b93
5 changed files with 18 additions and 19 deletions

View file

@ -1,16 +1,15 @@
#ifndef HEADER_EVENT_FTXUI
#define HEADER_EVENT_FTXUI
#include <deque>
#include <any>
#include <deque>
#include <functional>
#include <mutex>
enum class EventType : uint8_t
{
SWITCH_SCREEN,
SEND_COMMAND,
LAUNCH_INSTANCE,
SEND_TEXT,
STOP,
};
@ -30,7 +29,7 @@ public:
protected:
void add_event(const EventPayload &payload);
friend class Event;
friend class EventPage;
private:
bool _is_running;
@ -39,10 +38,10 @@ private:
std::mutex _mutex;
};
class Event
class EventPage
{
public:
Event(EventHandler &eventhandler);
EventPage(EventHandler &eventhandler);
void send_event(const EventPayload &payload);
void send_event(const EventType &type, std::any data = {});

View file

@ -4,11 +4,11 @@
#include <ftxui/component/component_base.hpp>
#include "event.h"
class ScreenPage : public Event
class Page : public EventPage
{
public:
ScreenPage(EventHandler &handler)
: Event(handler), _page()
Page(EventHandler &handler)
: EventPage(handler), _page()
{
}

View file

@ -18,9 +18,9 @@ public:
}
ftxui::ScreenInteractive *get_screen();
void add_screen(ScreenPage *p);
void add_screen(Page *p);
void select_screen(size_t index);
void select_screen(const ScreenPage *p);
void select_screen(const Page *p);
void start();
void update();
@ -29,7 +29,7 @@ private:
~UserInterface();
ftxui::ScreenInteractive _screen;
std::vector<ScreenPage *> _pages;
std::vector<Page *> _pages;
ftxui::Component _page_container;
ftxui::Component _main_container;
ftxui::Component _main_renderer;

View file

@ -6,19 +6,19 @@
constexpr int64_t EVENT_LOOP_WAIT_MS = 100;
// Event
// EventPage
Event::Event(EventHandler &eventhandler)
EventPage::EventPage(EventHandler &eventhandler)
: _event_handler(eventhandler)
{
}
void Event::send_event(const EventPayload &payload)
void EventPage::send_event(const EventPayload &payload)
{
_event_handler.add_event(payload);
}
void Event::send_event(const EventType &type, std::any data)
void EventPage::send_event(const EventType &type, std::any data)
{
_event_handler.add_event({type, data});
}

View file

@ -19,7 +19,7 @@ ftxui::ScreenInteractive *UserInterface::get_screen()
return &_screen;
}
void UserInterface::add_screen(ScreenPage *p)
void UserInterface::add_screen(Page *p)
{
_pages.push_back(p);
}
@ -29,9 +29,9 @@ void UserInterface::select_screen(size_t index)
_page_index = index;
}
void UserInterface::select_screen(const ScreenPage *p)
void UserInterface::select_screen(const Page *p)
{
const typename std::vector<ScreenPage *>::iterator it = std::find(_pages.begin(), _pages.end(), p);
const typename std::vector<Page *>::iterator it = std::find(_pages.begin(), _pages.end(), p);
const size_t index = it - _pages.begin();
select_screen(index);
}