From 3bb33734a92e86024488adf88dc2a368c8c952b2 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Fri, 20 May 2011 14:11:40 +0200 Subject: Basic lua implementation. --- gui.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'gui.cpp') diff --git a/gui.cpp b/gui.cpp index 2303470..ed53cb4 100644 --- a/gui.cpp +++ b/gui.cpp @@ -68,7 +68,9 @@ bool GUI::showing() { /* ConsoleWindow */ -ConsoleWindow::ConsoleWindow() { +ConsoleWindow::ConsoleWindow(Lua *lua) { + this->lua = lua; + WindowManager& wmgr(WindowManager::getSingleton()); wnd = wmgr.loadWindowLayout("console.layout"); @@ -128,7 +130,21 @@ void ConsoleWindow::handle_input() { if(!s.size()) return; - FormattedListboxTextItem *item = new FormattedListboxTextItem(String((utf8*)s.c_str()), HTF_WORDWRAP_LEFT_ALIGNED); + add_line(s); + + try { + lua->dostring(s); + } catch(LuaError& e) { + add_line(e.what()); + } +} + +void ConsoleWindow::add_line(const std::string& line) { + add_line(line.c_str()); +} + +void ConsoleWindow::add_line(const char *line) { + FormattedListboxTextItem *item = new FormattedListboxTextItem(String((utf8*)line), HTF_WORDWRAP_LEFT_ALIGNED); listbox->addItem(item); listbox->ensureItemIsVisible(item); } -- cgit v1.2.3