feat(ui): handle CSimpleButton_GetButtonState script function

This commit is contained in:
fallenoak committed 2023-02-18 15:17:46 -06:00
1 parent a3b285497a
commit dd322572c7
3 files changed
+23 -1

No files matched your search

+4
View File
@@ -83,6 +83,10 @@ void CSimpleButton::Enable(int32_t enabled) {
}
}
CSimpleButtonState CSimpleButton::GetButtonState() {
return this->m_state;
}
FrameScript_Object::ScriptIx* CSimpleButton::GetScriptByName(const char* name, ScriptData& data) {
auto parentScript = CSimpleFrame::GetScriptByName(name, data);
+1
View File
@@ -62,6 +62,7 @@ class CSimpleButton : public CSimpleFrame {
// Member functions
CSimpleButton(CSimpleFrame* parent);
CSimpleButtonState GetButtonState();
void RunOnClickScript(const char* btn, int32_t down);
void SetClickAction(uint64_t action);
void SetFontString(CSimpleFontString* text);
+18 -1
View File
@@ -75,7 +75,24 @@ int32_t CSimpleButton_IsEnabled(lua_State* L) {
}
int32_t CSimpleButton_GetButtonState(lua_State* L) {
WHOA_UNIMPLEMENTED();
auto type = CSimpleButton::GetObjectType();
auto button = static_cast<CSimpleButton*>(FrameScript_GetObjectThis(L, type));
auto buttonState = button->GetButtonState();
if (buttonState == BUTTONSTATE_DISABLED) {
lua_pushstring(L, "DISABLED");
return 1;
} else if (buttonState == BUTTONSTATE_PUSHED) {
lua_pushstring(L, "PUSHED");
return 1;
} else if (buttonState == BUTTONSTATE_NORMAL) {
lua_pushstring(L, "NORMAL");
return 1;
}
lua_pushstring(L, "UNKNOWN");
return 1;
}
int32_t CSimpleButton_SetButtonState(lua_State* L) {