feat(ui): implement CSimpleCheckbox_GetChecked

This commit is contained in:
fallenoak 2025-11-18 21:03:55 -06:00
parent b2297d96d9
commit 1cd1bb5672
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 17 additions and 1 deletions

View File

@ -34,3 +34,7 @@ bool CSimpleCheckbox::IsA(int32_t type) {
|| type == CScriptRegion::s_objectType
|| type == CScriptObject::s_objectType;
}
int32_t CSimpleCheckbox::GetChecked() {
return this->m_checked;
}

View File

@ -26,6 +26,7 @@ class CSimpleCheckbox : public CSimpleButton {
// Member functions
CSimpleCheckbox(CSimpleFrame* parent)
: CSimpleButton(parent) {};
int32_t GetChecked();
};
#endif

View File

@ -1,4 +1,6 @@
#include "ui/CSimpleCheckboxScript.hpp"
#include "ui/CSimpleCheckbox.hpp"
#include "util/Lua.hpp"
#include "util/Unimplemented.hpp"
#include <cstdint>
@ -7,7 +9,16 @@ int32_t CSimpleCheckbox_SetChecked(lua_State* L) {
}
int32_t CSimpleCheckbox_GetChecked(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
auto type = CSimpleCheckbox::GetObjectType();
auto checkbox = static_cast<CSimpleCheckbox*>(FrameScript_GetObjectThis(L, type));
if (checkbox->GetChecked()) {
lua_pushnumber(L, 1.0);
} else {
lua_pushnil(L);
}
return 1;
}
int32_t CSimpleCheckbox_GetCheckedTexture(lua_State* L) {