Add options for checkbox.

This commit is contained in:
ArthurSonzogni
2021-07-07 22:37:50 +02:00
committed by Arthur Sonzogni
parent 359100ca73
commit 2b7daf061f
4 changed files with 36 additions and 24 deletions

View File

@@ -22,18 +22,11 @@ class CheckboxBase : public ComponentBase {
static CheckboxBase* From(Component component);
// Constructor.
CheckboxBase(ConstStringRef label, bool* state);
CheckboxBase(ConstStringRef label,
bool* state,
ConstRef<CheckboxOption> option = {});
~CheckboxBase() override = default;
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.
/// Called when the user change the state of the CheckboxBase.
std::function<void()> on_change = []() {};
// Component implementation.
Element Render() override;
bool OnEvent(Event) override;
@@ -43,8 +36,8 @@ class CheckboxBase : public ComponentBase {
ConstStringRef label_;
bool* const state_;
int cursor_position = 0;
Box box_;
ConstRef<CheckboxOption> option_;
};
} // namespace ftxui