Add documentation for options.

This commit is contained in:
ArthurSonzogni
2021-07-10 11:50:17 +02:00
committed by Arthur Sonzogni
parent fac373494d
commit f53dc139e9
8 changed files with 77 additions and 66 deletions

View File

@@ -5,56 +5,68 @@
namespace ftxui {
/// @brief Option for the Menu component.
struct MenuOption {
Decorator normal_style = nothing;
Decorator focused_style = inverted;
Decorator selected_style = bold;
Decorator selected_focused_style = focused_style | selected_style;
Decorator style_normal = nothing; /// style.
Decorator style_focused = inverted; /// Style when focused.
Decorator style_selected = bold; /// Style when selected.
Decorator style_selected_focused =
Decorator(inverted) | bold; /// Style when selected and focused.
// State update callback.
std::function<void()> on_change = []() {};
std::function<void()> on_enter = []() {};
/// Called when the selected entry changes.
std::function<void()> on_change = [] {};
/// Called when the user presses enter.
std::function<void()> on_enter = [] {};
};
/// @brief Option for the Button component.
struct ButtonOption {
/// Whether to show a border around the button.
bool border = true;
};
/// @brief Option for the Checkbox component.
struct CheckboxOption {
std::wstring checked = L""; /// Prefix for a "checked" state.
std::wstring unchecked = L""; /// Prefix for a "unchecked" state.
Decorator focused_style = inverted; /// Decorator used when focused.
Decorator unfocused_style = nothing; /// Decorator used when unfocused.
std::wstring style_checked = L""; /// Prefix for a "checked" state.
std::wstring style_unchecked = L""; /// Prefix for a "unchecked" state.
Decorator style_focused = inverted; /// Decorator used when focused.
Decorator style_unfocused = nothing; /// Decorator used when unfocused.
/// Called when the user change the state.
std::function<void()> on_change = []() {};
};
/// @brief Option for the Input component.
struct InputOption {
/// Called when the content changes.
std::function<void()> on_change = [] {};
/// Called when the user presses enter.
std::function<void()> on_enter = [] {};
};
/// @brief Option for the Radiobox component.
struct RadioboxOption {
std::wstring checked = L"";
std::wstring unchecked = L"";
Decorator focused_style = inverted;
Decorator unfocused_style = nothing;
std::wstring style_checked = L""; /// Prefix for a "checked" state.
std::wstring style_unchecked = L""; /// Prefix for a "unchecked" state.
Decorator style_focused = inverted; /// Decorator used when focused.
Decorator style_unfocused = nothing; /// Decorator used when unfocused.
/// Called when the selected entry changes.
std::function<void()> on_change = []() {};
};
/// @brief Option for the Toggle component.
struct ToggleOption {
Decorator normal_style = dim;
Decorator focused_style = inverted;
Decorator selected_style = bold;
Decorator selected_focused_style = focused_style | selected_style;
Decorator style_normal = nothing; /// style.
Decorator style_focused = inverted; /// Style when focused.
Decorator style_selected = bold; /// Style when selected.
Decorator style_selected_focused =
Decorator(inverted) | bold; /// Style when selected and focused.
// Callback.
std::function<void()> on_change = []() {};
std::function<void()> on_enter = []() {};
/// Called when the selected entry changes.
std::function<void()> on_change = [] {};
/// Called when the user presses enter.
std::function<void()> on_enter = [] {};
};
}; // namespace ftxui