From c4a516c44d56e1a3bc4ef0a491405a1e1604928e Mon Sep 17 00:00:00 2001 From: VDm Date: Sat, 29 Mar 2025 17:37:52 +0400 Subject: [PATCH] feat(ui): add Tab button handler for CSimpleEditBox --- src/ui/CSimpleEditBox.cpp | 12 ++++++++++++ src/ui/CSimpleEditBox.hpp | 1 + 2 files changed, 13 insertions(+) diff --git a/src/ui/CSimpleEditBox.cpp b/src/ui/CSimpleEditBox.cpp index 981d315..e9b287c 100644 --- a/src/ui/CSimpleEditBox.cpp +++ b/src/ui/CSimpleEditBox.cpp @@ -878,6 +878,11 @@ int32_t CSimpleEditBox::OnLayerKeyDown(const CKeyEvent& evt) { return 1; } + case KEY_TAB: { + this->RunOnTabPressedScript(); + return 1; + } + // TODO // - remaining keys @@ -1001,6 +1006,13 @@ void CSimpleEditBox::RunOnEnterPressedScript() { } } +void CSimpleEditBox::RunOnTabPressedScript() { + if (this->m_onTabPressed.luaRef) { + this->RunScript(this->m_onTabPressed, 0, 0); + } + // TODO: virtual call of CSimpleEditBox::DispatchAction ? +} + void CSimpleEditBox::RunOnTextChangedScript(int32_t changed) { if (this->m_onTextChanged.luaRef) { auto L = FrameScript_GetContext(); diff --git a/src/ui/CSimpleEditBox.hpp b/src/ui/CSimpleEditBox.hpp index f7dbb3b..7a3ed72 100644 --- a/src/ui/CSimpleEditBox.hpp +++ b/src/ui/CSimpleEditBox.hpp @@ -99,6 +99,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame { void RunOnEditFocusGainedScript(); void RunOnEditFocusLostScript(); void RunOnEnterPressedScript(); + void RunOnTabPressedScript(); void RunOnTextChangedScript(int32_t changed); void SetCursorPosition(int32_t position); void SetHistoryLines(int32_t a2);