Added on_enter() method to toggle

component
This commit is contained in:
vedantparanjape 2020-08-04 22:24:30 +05:30 committed by Arthur Sonzogni
parent a4d72c4d50
commit 33a970530b
2 changed files with 11 additions and 3 deletions

View File

@ -27,7 +27,8 @@ class Toggle : public Component {
// Callback.
std::function<void()> on_change = []() {};
std::function<void()> on_enter = []() {};
// Component implementation.
Element Render() override;
bool OnEvent(Event) override;

View File

@ -40,10 +40,17 @@ bool Toggle::OnEvent(Event event) {
selected = std::max(0, std::min(int(entries.size()) - 1, selected));
if (old_selected != selected)
if (old_selected != selected) {
on_change();
return true;
}
return old_selected != selected;
if (event == Event::Return) {
on_enter();
return true;
}
return false;
}
} // namespace ftxui