106 lua_pushstring(L, r->_name);
107 lua_pushlightuserdata(L, r);
115 lua_pushvalue(L, -(upvalues+1));
118 lua_pushstring(L, r->_name);
119 lua_pushlightuserdata(L, r);
121 for(
int i = 0; i<upvalues; i++)
122 lua_pushvalue(L, -(3+upvalues));
145#ifdef LUAUTILS_CANCEL
147 if(LuaEnv::cancelRequested(L))
148 return luaL_error(L,
"%s", luaPrintable(
QObject::tr(
"Script canceled.")));
157 return luaL_error(L,
"%s", luaPrintable(
QObject::tr(
"Redirector for method %1 called on incorrect object type.").arg(reg->
_name)));
161 return (proxy->*method)(L);
208 lua_pushstring(L, r->_name);
209 lua_pushlightuserdata(L, r);
210 lua_pushlightuserdata(L, obj);
229#ifdef LUAUTILS_CANCEL
231 if(LuaEnv::cancelRequested(L))
232 return luaL_error(L,
"%s", luaPrintable(
QObject::tr(
"Script canceled.")));
239 T* obj = (T*)lua_touserdata(L, lua_upvalueindex(2));
243 return (obj->*method)(L);
Classe auxiliar para facilitar o cadastro de métodos a serem chamados por Lua.
Definition luaMethod.h:70
static int methodRedirector(lua_State *L)
Stub utilizado para chamada dos métodos da classe T.
Definition luaMethod.h:143
static void registerMethods(lua_State *L, struct MethodRegistry *methods, int upvalues=0)
Registra na tabela contida na pilha as funções contidas em methods. Permite que sejam associados upva...
Definition luaMethod.h:97
int(T::*) MethodType(lua_State *)
Typedef para método de T com assinatura de uma função chamada por Lua.
Definition luaMethod.h:74
static T * toObjectOfClass(lua_State *L, int index)
Definition luaProxy.h:112
Classe similar a LuaMethod porém com algumas diferenças fundamentais:
Definition luaMethod.h:177
static int methodRedirector(lua_State *L)
Stub utilizado para chamada dos métodos da classe T.
Definition luaMethod.h:227
int(T::*) MethodType(lua_State *)
Typedef para método de T com assinatura de uma função chamada por Lua.
Definition luaMethod.h:181
static void registerMethods(lua_State *L, struct MethodRegistry *methods, T *obj)
Registra na tabela contida na pilha as funções contidas em methods. Obj deve conter ponteiro par o ob...
Definition luaMethod.h:200
Declaration of useful configuration definitions and some compatibility options fro compiling with sev...
Definicao das classes LuaEnv e AutoLuaEnv.
Definicao das classes LuaProxy e LuaSimpleProxy.
Definicao da classe LuaStackBalancer.
#define LUA_CHECK_TOPL(L)
Macro utilizada para verificar se o topo atual da pilha é igual ao valor salvo. Recebe um lua_State.
Definition luaStackBalancer.h:53
#define LUA_SAVE_TOPL(L)
Macro utilizada para salvar a posiçao do topo da pilha. Recebe um lua_State.
Definition luaStackBalancer.h:50
QString tr(const char *sourceText, const char *disambiguation, int n)
Classe auxiliar para registro dos nomes e métodos a serem chamados.
Definition luaMethod.h:77
MethodType _method
Ponteiro para o método a ser chamado.
Definition luaMethod.h:79
const char * _name
Nome do método exportado.
Definition luaMethod.h:78
Classe auxiliar para registro dos nomes e métodos a serem chamados.
Definition luaMethod.h:184
const char * _name
Nome do método exportado.
Definition luaMethod.h:185
MethodType _method
Ponteiro para o método a ser chamado.
Definition luaMethod.h:186