mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-05-06 09:13:48 +08:00
Implement Input::on_change.
This commit is contained in:
parent
5291f660ca
commit
606e0efdfe
@ -20,8 +20,8 @@ class Input : public Component {
|
|||||||
std::wstring placeholder;
|
std::wstring placeholder;
|
||||||
|
|
||||||
// State update callback.
|
// State update callback.
|
||||||
std::function<void()> on_change = []() {};
|
std::function<void()> on_change = [] {};
|
||||||
std::function<void()> on_enter = []() {};
|
std::function<void()> on_enter = [] {};
|
||||||
|
|
||||||
// Component implementation.
|
// Component implementation.
|
||||||
Element Render() override;
|
Element Render() override;
|
||||||
|
@ -52,6 +52,7 @@ bool Input::OnEvent(Event event) {
|
|||||||
return false;
|
return false;
|
||||||
content.erase(cursor_position - 1, 1);
|
content.erase(cursor_position - 1, 1);
|
||||||
cursor_position--;
|
cursor_position--;
|
||||||
|
on_change();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +61,7 @@ bool Input::OnEvent(Event event) {
|
|||||||
if (cursor_position == int(content.size()))
|
if (cursor_position == int(content.size()))
|
||||||
return false;
|
return false;
|
||||||
content.erase(cursor_position, 1);
|
content.erase(cursor_position, 1);
|
||||||
|
on_change();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,6 +89,7 @@ bool Input::OnEvent(Event event) {
|
|||||||
if (event.is_character()) {
|
if (event.is_character()) {
|
||||||
content.insert(cursor_position, 1, event.character());
|
content.insert(cursor_position, 1, event.character());
|
||||||
cursor_position++;
|
cursor_position++;
|
||||||
|
on_change();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user