- lua_pushstring(m_engineluastack, text.c_str());
-
- if(lua_pcall(m_engineluastack, 1, 0, m_luaerrorhandler))
- scriptError("error: %s", lua_tostring(m_engineluastack, -1));
-}
-
-/******************************************************************************/
-void GUIEngine::handleButtons(std::map<std::string, std::string> fields)
-{
- lua_getglobal(m_engineluastack, "engine");
-
- lua_getfield(m_engineluastack, -1, "button_handler");
-
- if(lua_isnil(m_engineluastack, -1))
- return;
-
- luaL_checktype(m_engineluastack, -1, LUA_TFUNCTION);
-
- lua_newtable(m_engineluastack);
- for(std::map<std::string, std::string>::const_iterator
- i = fields.begin(); i != fields.end(); i++){
- const std::string &name = i->first;
- const std::string &value = i->second;
- lua_pushstring(m_engineluastack, name.c_str());
- lua_pushlstring(m_engineluastack, value.c_str(), value.size());
- lua_settable(m_engineluastack, -3);