mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-18 19:12:44 +03:00
feat(ui): implement SetFocus and ClearFocus script methods (CSimpleEditBox)
This commit is contained in:
parent
03ba4ccbb1
commit
465b3844de
@ -79,6 +79,13 @@ void CSimpleEditBox::SetKeyboardFocus(CSimpleEditBox* editBox) {
|
||||
editBox->m_dirtyFlags |= 0x4;
|
||||
}
|
||||
|
||||
void CSimpleEditBox::ClearKeyboardFocus(CSimpleEditBox* editBox, bool) {
|
||||
if (CSimpleEditBox::s_currentFocus == editBox) {
|
||||
CSimpleEditBox::s_currentFocus = nullptr;
|
||||
// TODO: CSimpleEditBox::OnFocusChange
|
||||
}
|
||||
}
|
||||
|
||||
CSimpleEditBox::CSimpleEditBox(CSimpleFrame* parent) : CSimpleFrame(parent) {
|
||||
this->m_autoFocus = 1;
|
||||
this->m_multiline = 0;
|
||||
|
@ -19,6 +19,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame {
|
||||
static int32_t GetObjectType();
|
||||
static void RegisterScriptMethods(lua_State* L);
|
||||
static void SetKeyboardFocus(CSimpleEditBox* editBox);
|
||||
static void ClearKeyboardFocus(CSimpleEditBox* editBox, bool);
|
||||
|
||||
// Member variables
|
||||
int32_t m_autoFocus : 1;
|
||||
|
@ -176,11 +176,19 @@ int32_t CSimpleEditBox_GetTextInsets(lua_State* L) {
|
||||
}
|
||||
|
||||
int32_t CSimpleEditBox_SetFocus(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
int32_t type = CSimpleEditBox::GetObjectType();
|
||||
auto object = static_cast<CSimpleEditBox*>(FrameScript_GetObjectThis(L, type));
|
||||
|
||||
CSimpleEditBox::SetKeyboardFocus(object);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t CSimpleEditBox_ClearFocus(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
int32_t type = CSimpleEditBox::GetObjectType();
|
||||
auto object = static_cast<CSimpleEditBox*>(FrameScript_GetObjectThis(L, type));
|
||||
|
||||
CSimpleEditBox::ClearKeyboardFocus(object, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t CSimpleEditBox_HasFocus(lua_State* L) {
|
||||
|
Loading…
Reference in New Issue
Block a user