From dc9cd82e80338a20b71db662abb6192aff118fe3 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sun, 12 Aug 2018 14:51:22 -0400 Subject: Modified iguielement to export it's functions Other gui elements can now register all the base igui functions by registering iguielement_m from iguielement.hpp --- src/client/lua_api/gui/iguielement.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/client/lua_api/gui/iguielement.cpp') diff --git a/src/client/lua_api/gui/iguielement.cpp b/src/client/lua_api/gui/iguielement.cpp index 5ba998f..44fb67c 100644 --- a/src/client/lua_api/gui/iguielement.cpp +++ b/src/client/lua_api/gui/iguielement.cpp @@ -1,8 +1,6 @@ /*This file defines some things that all igui stuff can do*/ /*** @module gui - - */ extern "C" { #include @@ -86,6 +84,25 @@ int setiguitext(lua_State* L){ return 0; } + +/*** +@function guielement:gettext() +@treturn string The caption text of the element. For input element like +editboxes, this returns the text that the edit box contains. +*/ +//{guieditbox}:gettext() :: "caption_text" +int getiguitext(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; +} + /*** Removes a gui element, and any child elements @function guielement:remove() @@ -140,3 +157,4 @@ int guigetid(lua_State* L){ lua_pushnumber(L,id); return 1; } + -- cgit v1.2.3-70-g09d2