mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-25 21:36:05 +03:00
feat(ui): add CSimpleStatusBar skeleton
This commit is contained in:
parent
9d82727c9b
commit
568afa1c1b
39
src/ui/CSimpleStatusBar.cpp
Normal file
39
src/ui/CSimpleStatusBar.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
#include "ui/CSimpleStatusBar.hpp"
|
||||
#include "ui/CSimpleStatusBarScript.hpp"
|
||||
|
||||
int32_t CSimpleStatusBar::s_metatable = 0;
|
||||
int32_t CSimpleStatusBar::s_objectType = 0;
|
||||
|
||||
void CSimpleStatusBar::CreateScriptMetaTable() {
|
||||
lua_State* L = FrameScript_GetContext();
|
||||
int32_t ref = FrameScript_Object::CreateScriptMetaTable(L, &CSimpleStatusBar::RegisterScriptMethods);
|
||||
CSimpleStatusBar::s_metatable = ref;
|
||||
}
|
||||
|
||||
int32_t CSimpleStatusBar::GetObjectType() {
|
||||
if (!CSimpleStatusBar::s_objectType) {
|
||||
CSimpleStatusBar::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
return CSimpleStatusBar::s_objectType;
|
||||
}
|
||||
|
||||
void CSimpleStatusBar::RegisterScriptMethods(lua_State* L) {
|
||||
CSimpleFrame::RegisterScriptMethods(L);
|
||||
FrameScript_Object::FillScriptMethodTable(L, SimpleStatusBarMethods, NUM_SIMPLE_STATUS_BAR_SCRIPT_METHODS);
|
||||
}
|
||||
|
||||
CSimpleStatusBar::CSimpleStatusBar(CSimpleFrame* parent)
|
||||
: CSimpleFrame(parent) {
|
||||
}
|
||||
|
||||
bool CSimpleStatusBar::IsA(int32_t type) {
|
||||
return type == CSimpleStatusBar::s_objectType
|
||||
|| type == CSimpleFrame::s_objectType
|
||||
|| type == CScriptRegion::s_objectType
|
||||
|| type == CScriptObject::s_objectType;
|
||||
}
|
||||
|
||||
int32_t CSimpleStatusBar::GetScriptMetaTable() {
|
||||
return CSimpleStatusBar::s_metatable;
|
||||
}
|
||||
25
src/ui/CSimpleStatusBar.hpp
Normal file
25
src/ui/CSimpleStatusBar.hpp
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef UI_C_SIMPLE_STATUS_BAR_HPP
|
||||
#define UI_C_SIMPLE_STATUS_BAR_HPP
|
||||
|
||||
#include "ui/CSimpleFrame.hpp"
|
||||
|
||||
class CSimpleStatusBar : public CSimpleFrame {
|
||||
public:
|
||||
// Static variables
|
||||
static int32_t s_metatable;
|
||||
static int32_t s_objectType;
|
||||
|
||||
// Static functions
|
||||
static void CreateScriptMetaTable();
|
||||
static int32_t GetObjectType();
|
||||
static void RegisterScriptMethods(lua_State* L);
|
||||
|
||||
// Member functions
|
||||
CSimpleStatusBar(CSimpleFrame* parent);
|
||||
|
||||
// Virtual member functions
|
||||
virtual bool IsA(int32_t type);
|
||||
virtual int32_t GetScriptMetaTable();
|
||||
};
|
||||
|
||||
#endif
|
||||
68
src/ui/CSimpleStatusBarScript.cpp
Normal file
68
src/ui/CSimpleStatusBarScript.cpp
Normal file
@ -0,0 +1,68 @@
|
||||
#include "ui/CSimpleStatusBarScript.hpp"
|
||||
#include "ui/CSimpleStatusBar.hpp"
|
||||
#include "util/Lua.hpp"
|
||||
#include "util/Unimplemented.hpp"
|
||||
|
||||
static int32_t Script_GetOrientation(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetOrientation(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetMinMaxValues(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetMinMaxValues(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetValue(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetValue(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetStatusBarTexture(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetStatusBarTexture(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetStatusBarColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetStatusBarColor(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_GetRotatesTexture(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
static int32_t Script_SetRotatesTexture(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
}
|
||||
|
||||
|
||||
FrameScript_Method SimpleStatusBarMethods[NUM_SIMPLE_STATUS_BAR_SCRIPT_METHODS] = {
|
||||
{ "GetOrientation", &Script_GetOrientation },
|
||||
{ "SetOrientation", &Script_SetOrientation },
|
||||
{ "GetMinMaxValues", &Script_GetMinMaxValues },
|
||||
{ "SetMinMaxValues", &Script_SetMinMaxValues },
|
||||
{ "GetValue", &Script_GetValue },
|
||||
{ "SetValue", &Script_SetValue },
|
||||
{ "GetStatusBarTexture", &Script_GetStatusBarTexture },
|
||||
{ "SetStatusBarTexture", &Script_SetStatusBarTexture },
|
||||
{ "GetStatusBarColor", &Script_GetStatusBarColor },
|
||||
{ "SetStatusBarColor", &Script_SetStatusBarColor },
|
||||
{ "GetRotatesTexture", &Script_GetRotatesTexture },
|
||||
{ "SetRotatesTexture", &Script_SetRotatesTexture }
|
||||
};
|
||||
10
src/ui/CSimpleStatusBarScript.hpp
Normal file
10
src/ui/CSimpleStatusBarScript.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef UI_C_SIMPLE_STATUS_BAR_SCRIPT_HPP
|
||||
#define UI_C_SIMPLE_STATUS_BAR_SCRIPT_HPP
|
||||
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
||||
#define NUM_SIMPLE_STATUS_BAR_SCRIPT_METHODS 12
|
||||
|
||||
extern FrameScript_Method SimpleStatusBarMethods[NUM_SIMPLE_STATUS_BAR_SCRIPT_METHODS];
|
||||
|
||||
#endif
|
||||
@ -10,6 +10,7 @@
|
||||
#include "ui/CSimpleScrollFrame.hpp"
|
||||
#include "ui/CSimpleMessageScrollFrame.hpp"
|
||||
#include "ui/CSimpleSlider.hpp"
|
||||
#include "ui/CSimpleStatusBar.hpp"
|
||||
#include "util/CStatus.hpp"
|
||||
#include "util/SFile.hpp"
|
||||
#include <cstdlib>
|
||||
@ -101,7 +102,8 @@ CSimpleFrame* Create_SimpleHTML(CSimpleFrame* parent) {
|
||||
CSimpleFrame* Create_SimpleStatusBar(CSimpleFrame* parent) {
|
||||
// TODO
|
||||
|
||||
return nullptr;
|
||||
auto m = SMemAlloc(sizeof(CSimpleStatusBar), __FILE__, __LINE__, 0x0);
|
||||
return new (m) CSimpleStatusBar(parent);
|
||||
}
|
||||
|
||||
CSimpleFrame* Create_SimpleColorSelect(CSimpleFrame* parent) {
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include "ui/CSimpleSlider.hpp"
|
||||
#include "ui/CSimpleTexture.hpp"
|
||||
#include "ui/CSimpleMessageScrollFrame.hpp"
|
||||
#include "ui/CSimpleStatusBar.hpp"
|
||||
#include "ui/FrameScript.hpp"
|
||||
|
||||
void CharacterCreateRegisterScriptFunctions() {
|
||||
@ -88,7 +89,7 @@ void RegisterSimpleFrameScriptMethods() {
|
||||
CSimpleSlider::CreateScriptMetaTable();
|
||||
|
||||
// TODO
|
||||
// CSimpleStatusBar::CreateScriptMetaTable();
|
||||
CSimpleStatusBar::CreateScriptMetaTable();
|
||||
// CSimpleColorSelect::CreateScriptMetaTable();
|
||||
CSimpleMovieFrame::CreateScriptMetaTable();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user