aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/lua_api/gui/iguibutton.cpp16
-rw-r--r--src/client/lua_api/gui/iguicheckbox.cpp8
-rw-r--r--src/client/lua_api/gui/iguieditbox.cpp30
-rw-r--r--src/client/lua_api/gui/iguiimage.cpp1
-rw-r--r--src/client/lua_api/gui/iguilabel.cpp6
5 files changed, 34 insertions, 27 deletions
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 <shared/util/hashmap.hpp>
#include <shared/lua_api/common.hpp>
+/***
+@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 <shared/util/hashmap.hpp>
#include <shared/lua_api/common.hpp>
+/***
+@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);