#include "luainterface.h" #include #include #include #include void LuaInterface::registerFunctions() { // UIWidget g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UIWidget::create); g_lua.bindClassMemberFunction("destroy", &UIWidget::destroy); g_lua.bindClassMemberFunction("addChild", &UIWidget::addChild); g_lua.bindClassMemberField("id", &UIWidget::getId, &UIWidget::setId); g_lua.bindClassMemberField("enabled", &UIWidget::isEnabled, &UIWidget::setEnabled); g_lua.bindClassMemberField("visible", &UIWidget::isVisible, &UIWidget::setVisible); g_lua.bindClassMemberField("width", &UIWidget::getWidth, &UIWidget::setWidth); g_lua.bindClassMemberField("height", &UIWidget::getHeight, &UIWidget::setHeight); g_lua.bindClassMemberField("parent", &UIWidget::getParent, &UIWidget::setParent); g_lua.bindClassMemberField("color", &UIWidget::getColor, &UIWidget::setColor); g_lua.bindClassMemberField("opacity", &UIWidget::getOpacity, &UIWidget::setOpacity); g_lua.bindClassMemberField("marginTop", &UIWidget::getMarginTop, &UIWidget::setMarginTop); g_lua.bindClassMemberField("marginBottom", &UIWidget::getMarginBottom, &UIWidget::setMarginBottom); g_lua.bindClassMemberField("marginLeft", &UIWidget::getMarginLeft, &UIWidget::setMarginLeft); g_lua.bindClassMemberField("marginRight", &UIWidget::getMarginRight, &UIWidget::setMarginRight); g_lua.bindClassMemberFunction("centerIn", &UIWidget::centerIn); g_lua.bindClassMemberFunction("addAnchor", &UIWidget::addAnchor); g_lua.bindClassMemberFunction("getChild", &UIWidget::getChildById); g_lua.bindClassMemberFunction("addChild", &UIWidget::addChild); g_lua.bindClassMemberFunction("lock", &UIWidget::lock); // UILabel g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UILabel::create); g_lua.bindClassMemberField("text", &UILabel::getText, &UILabel::setText); g_lua.bindClassMemberFunction("resizeToText", &UILabel::resizeToText); // UIButton g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UIButton::create); g_lua.bindClassMemberField("text", &UIButton::getText, &UIButton::setText); // UILineEdit g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UILineEdit::create); g_lua.bindClassMemberField("text", &UILineEdit::getText, &UILineEdit::setText); // UIWindow g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &UIWindow::create); g_lua.bindClassMemberField("title", &UIWindow::getTitle, &UIWindow::setTitle); // Protocol g_lua.registerClass(); // global functions g_lua.bindGlobalFunction("importFont", std::bind(&FontManager::importFont, &g_fonts, _1)); g_lua.bindGlobalFunction("importStyles", std::bind(&UIManager::importStyles, &g_ui, _1)); g_lua.bindGlobalFunction("setDefaultFont", std::bind(&FontManager::setDefaultFont, &g_fonts, _1)); g_lua.bindGlobalFunction("loadUI", std::bind(&UIManager::loadUI, &g_ui, _1)); g_lua.bindGlobalFunction("getRootWidget", std::bind(&UIManager::getRootWidget, &g_ui)); g_lua.bindGlobalFunction("addEvent", std::bind(&EventDispatcher::addEvent, &g_dispatcher, _1, false)); g_lua.bindGlobalFunction("scheduleEvent", std::bind(&EventDispatcher::scheduleEvent, &g_dispatcher, _1, _2)); }