From d169407dbc6d54ed4eb0bee06c6169b6ea40761d Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sun, 12 Aug 2018 15:03:08 -0400 Subject: Changed files to use the common iguielement registry Files now use the registry defined in iguielement, so they are all in sync. --- src/client/lua_api/gui/iguibutton.cpp | 16 +++++++++++++--- src/client/lua_api/gui/iguicheckbox.cpp | 8 ++++---- src/client/lua_api/gui/iguieditbox.cpp | 30 ++++++++++++++---------------- src/client/lua_api/gui/iguiimage.cpp | 1 + src/client/lua_api/gui/iguilabel.cpp | 6 ++---- 5 files changed, 34 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/client/lua_api/gui/iguibutton.cpp b/src/client/lua_api/gui/iguibutton.cpp index 0e16ef6..5da3773 100644 --- a/src/client/lua_api/gui/iguibutton.cpp +++ b/src/client/lua_api/gui/iguibutton.cpp @@ -17,6 +17,9 @@ extern "C" { #include #include +/*** +@module gui +*/ using namespace irr; using namespace core; using namespace gui; @@ -24,6 +27,15 @@ using namespace gui; extern IrrlichtDevice* device; char lhashkey[20]; +/*** +@function newbutton() +Creates a new checkbox +@tparam dimensions rect The rectangle to place the button at. If the box has a parent, +it is offset from the upper-left of the parent element. +@tparam parent (iguielement | nil) parent The parent element of the button. +@tparam default_text (string | nil) default_text The default text to have in the button +@treturn iguibutton The button element +*/ //gui.newbutton({{sx,sy},{ex,ey}},"text"[,parent]) static int newiguibutton(lua_State* L){ printf("Createing gui button!\n"); @@ -68,9 +80,6 @@ static const luaL_reg iguibutton_f[] = { }; static const luaL_reg iguibutton_m[] = { - {"move", moveiguielement}, - {"settext", setiguitext}, - {"remove", removeiguielement}, {0,0}, }; @@ -79,6 +88,7 @@ void iguibutton_register(lua_State* L){ luaL_newmetatable(L, "gui.iguibutton");//{m_iguibutton} lua_newtable(L);//{m_iguibutton},{} + luaL_register(L,NULL,iguielement_m); luaL_register(L,NULL,iguibutton_m);//{m_iguibutton},{} lua_setfield(L,-2,"__index");//{m_iguibutton} diff --git a/src/client/lua_api/gui/iguicheckbox.cpp b/src/client/lua_api/gui/iguicheckbox.cpp index c0ca740..adfc28e 100644 --- a/src/client/lua_api/gui/iguicheckbox.cpp +++ b/src/client/lua_api/gui/iguicheckbox.cpp @@ -51,16 +51,16 @@ int newiguicheckbox(lua_State* L){ } static const luaL_reg iguicheckbox_m[] = { - {"move", moveiguielement}, - {"setText", setiguitext}, - //{"remove", guisethandeler}, - {0,0}, + {0,0}, }; int iguicheckbox_register(lua_State* L){// luaL_newmetatable(L,"gui.checkbox");//m{gui.checkbox} + lua_newtable(L); + luaL_register(L,NULL,iguielement_m); luaL_register(L,NULL,iguicheckbox_m); + lua_setfield(L,-2,"__index"); lua_pop(L,1);// lua_getglobal(L,"gui");//{gui} diff --git a/src/client/lua_api/gui/iguieditbox.cpp b/src/client/lua_api/gui/iguieditbox.cpp index 1ceab1f..790eaf3 100644 --- a/src/client/lua_api/gui/iguieditbox.cpp +++ b/src/client/lua_api/gui/iguieditbox.cpp @@ -12,12 +12,25 @@ extern "C" { #include #include +/*** +@module gui +*/ + using namespace irr; using namespace core; using namespace gui; extern IrrlichtDevice* device; +/*** +@function neweditbox() +Creates a new text entry box +@tparam dimensions rect The rectangle to place the box at. If the box has a parent, +it is offset from the upper-left of the parent element. +@tparam parent (iguielement | nil) parent The parent element of the edit box +@tparam default_text (string | nil) default_text The default text to have in the edit box +@treturn iguieditbox The edit box element +*/ //gui.neweditbox({{sx,sy},{ex,ey}}[,parent][,"default text"]) static int newiguieditbox(lua_State* L){ printf("Creating edit box!\n"); @@ -61,18 +74,6 @@ static int newiguieditbox(lua_State* L){ return 1; } -//{guieditbox}:getinput() -int getinputtext(lua_State* L){ - lua_getfield(L, -1, "guielement");//{guieditbox},ud_guielement - irr::gui::IGUIElement *el = (IGUIElement*)lua_touserdata(L,-1); - lua_pop(L,2);// - const wchar_t *t = el->getText(); - size_t strlen = wcslen(t); - char output[strlen]; - wcstombs(output,t,strlen); - lua_pushstring(L,output);//"str" - return 1; -} static const luaL_reg iguieditbox_f[] = { {"neweditbox",newiguieditbox}, @@ -80,10 +81,6 @@ static const luaL_reg iguieditbox_f[] = { }; static const luaL_reg iguieditbox_m[] = { - {"move", moveiguielement}, - {"settext", setiguitext}, - {"getinput", getinputtext}, - {"remove", removeiguielement}, {0,0}, }; @@ -91,6 +88,7 @@ void iguieditbox_register(lua_State* L){ luaL_newmetatable(L, "gui.iguieditbox"); lua_newtable(L); luaL_register(L,NULL,iguieditbox_m); + luaL_register(L,NULL,iguielement_m); lua_setfield(L,-2,"__index"); lua_pop(L,1); diff --git a/src/client/lua_api/gui/iguiimage.cpp b/src/client/lua_api/gui/iguiimage.cpp index 13a52b6..4e78e52 100644 --- a/src/client/lua_api/gui/iguiimage.cpp +++ b/src/client/lua_api/gui/iguiimage.cpp @@ -76,6 +76,7 @@ void iguiimage_register(lua_State* L){ //printf("made meta table\n"); lua_newtable(L);//{m_iguiimg},{} luaL_register(L,NULL,iguiimage_m);//{m_iguiimg},{iguiimg_m} + luaL_register(L,NULL,iguielement_m); //printf("About to set field\n"); lua_setfield(L,-2,"__index");//{m_iguiimg} lua_pop(L,1);// diff --git a/src/client/lua_api/gui/iguilabel.cpp b/src/client/lua_api/gui/iguilabel.cpp index 436844e..92611b2 100644 --- a/src/client/lua_api/gui/iguilabel.cpp +++ b/src/client/lua_api/gui/iguilabel.cpp @@ -69,9 +69,6 @@ static const luaL_reg iguilabel_f[] = { }; static const luaL_reg iguilabel_m[] = { - {"move", moveiguielement}, - {"settext", setiguitext}, - {"remove", removeiguielement}, {0, 0}, }; @@ -80,7 +77,8 @@ void iguilabel_register(lua_State* L){ luaL_newmetatable(L, "gui.iguilabel");//{m_gui.iguilabel} lua_newtable(L);//{m_gui.iguilabel},{} - luaL_register(L,"iguilabel",iguilabel_m);//{m_gui.iguilabel},{guilabel} + luaL_register(L,NULL,iguilabel_m);//{m_gui.iguilabel},{guilabel} + luaL_register(L,NULL,iguielement_m); lua_setfield(L,-2,"__index");//{m_gui.iguilabel} lua_pop(L,1); -- cgit v1.2.3-70-g09d2