void LuaDebuggerInterface::handlLuaError(LuaErrorEventDetails* const details) { std::string ErrorType(""); switch(details->getStatus()) { case LUA_ERRSYNTAX: //Syntax Error ErrorType = "Lua Syntax Error"; break; case LUA_ERRMEM: //Memory Allocation Error ErrorType = "Lua Memory Allocation Error"; break; case LUA_ERRRUN: //Memory Allocation Error ErrorType = "Lua Runtime Error"; break; case LUA_ERRERR: //Memory Allocation Error ErrorType = "Lua Error in Error Handler"; break; default: //Unknown ErrorType = "Lua Unknown Error"; break; } _ErrorTextArea->moveCaretToEnd(); if(_ErrorTextArea->getText().size() != 0) { _ErrorTextArea->write("\n"); } _ErrorTextArea->write(ErrorType + ":\n " + details->getErrorString()); //Select the Error Tab _InfoTabPanel->setSelectedIndex(1); //Fill Stack Trace if(details->getStatus() == LUA_ERRMEM || details->getStatus() == LUA_ERRERR || details->getStatus() == LUA_ERRRUN) { std::stringstream ss; ss << "Lua Stack Trace: " << std::endl << TheLuaManager->getCallStack() << std::endl; _StackTraceTextArea->write(ss.str()); } }