mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-12 12:25:59 +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;
|
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) {
|
CSimpleEditBox::CSimpleEditBox(CSimpleFrame* parent) : CSimpleFrame(parent) {
|
||||||
this->m_autoFocus = 1;
|
this->m_autoFocus = 1;
|
||||||
this->m_multiline = 0;
|
this->m_multiline = 0;
|
||||||
|
|||||||
@ -19,6 +19,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame {
|
|||||||
static int32_t GetObjectType();
|
static int32_t GetObjectType();
|
||||||
static void RegisterScriptMethods(lua_State* L);
|
static void RegisterScriptMethods(lua_State* L);
|
||||||
static void SetKeyboardFocus(CSimpleEditBox* editBox);
|
static void SetKeyboardFocus(CSimpleEditBox* editBox);
|
||||||
|
static void ClearKeyboardFocus(CSimpleEditBox* editBox, bool);
|
||||||
|
|
||||||
// Member variables
|
// Member variables
|
||||||
int32_t m_autoFocus : 1;
|
int32_t m_autoFocus : 1;
|
||||||
|
|||||||
@ -176,11 +176,19 @@ int32_t CSimpleEditBox_GetTextInsets(lua_State* L) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int32_t CSimpleEditBox_SetFocus(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) {
|
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) {
|
int32_t CSimpleEditBox_HasFocus(lua_State* L) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user