Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
FooterNavigableOptions.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_UI_GUI_FOOTERNAVEGABLEOPTIONS_HPP_
2#define IV_SRC_UI_GUI_FOOTERNAVEGABLEOPTIONS_HPP_
3
4#include "core/defines.hpp"
5
6#include <functional>
7#include <optional>
8#include <string>
9#include <vector>
10
11namespace iv::gui
12{
13
15{
16 std::optional<std::string> text;
17 std::optional<std::string> icon;
18
19 std::function<void()> action;
20 std::function<std::optional<iv::types::color>()> optionColorUpdate;
21};
22
24{
25public:
27
28 void addTextOption(const std::string &text, const std::function<void()> &action,
29 const std::function<std::optional<iv::types::color>()> &optionColorUpdate);
30 void addIconOption(const std::string &icon, const std::function<void()> &action,
31 const std::function<std::optional<iv::types::color>()> &optionColorUpdate);
32 void addOption(const std::string &text, const std::string &icon, const std::function<void()> &action,
33 const std::function<std::optional<iv::types::color>()> &optionColorUpdate);
34
35 [[nodiscard]] const std::vector<NavigableOption> &getOptions() const;
36
37private:
38 std::vector<NavigableOption> m_options;
39};
40
41}// namespace iv::gui
42
43#endif//IV_SRC_UI_GUI_FOOTERNAVEGABLEOPTIONS_HPP_
Definition FooterNavigableOptions.hpp:24
std::vector< NavigableOption > m_options
Definition FooterNavigableOptions.hpp:38
void addTextOption(const std::string &text, const std::function< void()> &action, const std::function< std::optional< iv::types::color >()> &optionColorUpdate)
Definition FooterNavigableOptions.cpp:5
void addIconOption(const std::string &icon, const std::function< void()> &action, const std::function< std::optional< iv::types::color >()> &optionColorUpdate)
Definition FooterNavigableOptions.cpp:11
void addOption(const std::string &text, const std::string &icon, const std::function< void()> &action, const std::function< std::optional< iv::types::color >()> &optionColorUpdate)
Definition FooterNavigableOptions.cpp:17
const std::vector< NavigableOption > & getOptions() const
Definition FooterNavigableOptions.cpp:24
Definition enums.hpp:5
Definition FooterNavigableOptions.hpp:15
std::function< std::optional< iv::types::color >()> optionColorUpdate
Definition FooterNavigableOptions.hpp:20
std::optional< std::string > text
Definition FooterNavigableOptions.hpp:16
std::function< void()> action
Definition FooterNavigableOptions.hpp:19
std::optional< std::string > icon
Definition FooterNavigableOptions.hpp:17