mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-09-15 23:48:15 +08:00
Add documentation for options.
This commit is contained in:

committed by
Arthur Sonzogni

parent
fac373494d
commit
f53dc139e9
@@ -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
|
||||
|
@@ -6,12 +6,12 @@
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
// An adapter for a const object referenced or owned.
|
||||
/// @brief An adapter. Own or reference a constant object.
|
||||
template <typename T>
|
||||
class ConstRef {
|
||||
public:
|
||||
ConstRef() {}
|
||||
ConstRef(T t): owned_(t) {}
|
||||
ConstRef(T t) : owned_(t) {}
|
||||
ConstRef(const T* t) : address_(t) {}
|
||||
const T& operator*() { return address_ ? *address_ : owned_; }
|
||||
const T* operator->() { return address_ ? address_ : &owned_; }
|
||||
@@ -21,8 +21,8 @@ class ConstRef {
|
||||
const T* address_ = nullptr;
|
||||
};
|
||||
|
||||
/// @brief For convenience, this class convert multiple mutable string
|
||||
/// references toward a shared representation.
|
||||
/// @brief An adapter. Own or reference a constant string. For convenience, this
|
||||
/// class convert multiple mutable string toward a shared representation.
|
||||
class StringRef {
|
||||
public:
|
||||
StringRef(std::wstring* ref) : address_(ref) {}
|
||||
@@ -37,8 +37,8 @@ class StringRef {
|
||||
std::wstring* address_ = nullptr;
|
||||
};
|
||||
|
||||
/// @brief For convenience, this class convert multiple immutable string
|
||||
/// references toward shared representation.
|
||||
/// @brief An adapter. Own or reference a constant string. For convenience, this
|
||||
/// class convert multiple immutable string toward a shared representation.
|
||||
class ConstStringRef {
|
||||
public:
|
||||
ConstStringRef(const std::wstring* ref) : address_(ref) {}
|
||||
|
Reference in New Issue
Block a user