liarsdice::ui::MenuSystem class

Public types

using MenuAction = std::function<void()>
using InputValidator = std::function<bool(const std::string&)>

Constructors, destructors, conversion operators

MenuSystem(std::shared_ptr<UIConfig> config) explicit

Public functions

void display_menu(const std::string& menu_id)
void display_message(const std::string& message_id, const std::unordered_map<std::string, std::string>& params = {})
void display_text(const std::string& text_id)
void display_error(const std::string& error)
void clear_screen()
auto get_input(const std::string& prompt_id) -> std::string
auto get_input_with_validation(const std::string& prompt_id) -> std::string
auto confirm(const std::string& prompt_id) -> bool
void register_action(const std::string& menu_id, const std::string& item_id, MenuAction action)
void run_menu(const std::string& menu_id)
void set_exit_requested(bool exit)
auto is_exit_requested() const -> bool
void apply_color(const std::string& color_name)
void reset_color()