diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2013-02-16 14:49:05 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2013-02-16 14:49:05 (GMT) |
| commit | 8d04b260a7966a31919e9b8dae8da852a47d9313 (patch) | |
| tree | c2a9e7e2686a6e29a40076082eb8809c7fbb2a8c /src/cat/LuaWindow.cpp | |
| parent | 01cd146ee910fb9e62859583842c9842b539565b (diff) | |
| download | powder-8d04b260a7966a31919e9b8dae8da852a47d9313.zip powder-8d04b260a7966a31919e9b8dae8da852a47d9313.tar.gz | |
Add missing removeComponent for Lua API
Diffstat (limited to 'src/cat/LuaWindow.cpp')
| -rw-r--r-- | src/cat/LuaWindow.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/cat/LuaWindow.cpp b/src/cat/LuaWindow.cpp index 433e4d1..502c7f1 100644 --- a/src/cat/LuaWindow.cpp +++ b/src/cat/LuaWindow.cpp @@ -25,6 +25,7 @@ Luna<LuaWindow>::RegType LuaWindow::methods[] = { method(LuaWindow, position), method(LuaWindow, size), method(LuaWindow, addComponent), + method(LuaWindow, removeComponent), method(LuaWindow, onInitialized), method(LuaWindow, onExit), method(LuaWindow, onTick), @@ -122,6 +123,29 @@ int LuaWindow::addComponent(lua_State * l) return 0; } +int LuaWindow::removeComponent(lua_State * l) +{ + void * luaComponent = NULL; + ui::Component * component = NULL; + if(luaComponent = Luna<LuaButton>::tryGet(l, 1)) + component = Luna<LuaButton>::get(luaComponent)->GetComponent(); + else if(luaComponent = Luna<LuaLabel>::tryGet(l, 1)) + component = Luna<LuaLabel>::get(luaComponent)->GetComponent(); + else if(luaComponent = Luna<LuaTextbox>::tryGet(l, 1)) + component = Luna<LuaTextbox>::get(luaComponent)->GetComponent(); + else if(luaComponent = Luna<LuaCheckbox>::tryGet(l, 1)) + component = Luna<LuaCheckbox>::get(luaComponent)->GetComponent(); + else if(luaComponent = Luna<LuaSlider>::tryGet(l, 1)) + component = Luna<LuaSlider>::get(luaComponent)->GetComponent(); + else if(luaComponent = Luna<LuaProgressBar>::tryGet(l, 1)) + component = Luna<LuaProgressBar>::get(luaComponent)->GetComponent(); + else + luaL_typerror(l, 1, "Component"); + if(component) + window->RemoveComponent(component); + return 0; +} + int LuaWindow::position(lua_State * l) { int args = lua_gettop(l); |
