From ec4fb132124235cc1f5b0ea538c7bbeae3ba4f46 Mon Sep 17 00:00:00 2001 From: Syping Date: Fri, 24 Aug 2018 23:49:37 +0200 Subject: [PATCH] widget code improvement --- src/luaenginegui/luaengine/LuaEngineGui.cpp | 30 ++++++++++++++++++++- src/luaenginegui/luaengine/LuaEngineGui.h | 1 + 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/luaenginegui/luaengine/LuaEngineGui.cpp b/src/luaenginegui/luaengine/LuaEngineGui.cpp index ee0d47a..8d41f70 100644 --- a/src/luaenginegui/luaengine/LuaEngineGui.cpp +++ b/src/luaenginegui/luaengine/LuaEngineGui.cpp @@ -60,7 +60,9 @@ void LuaEngineGui::pushClass(lua_State *L_p) pushFunction(L_p, "executeWidget", executeWidget); pushFunction(L_p, "showWidget", showWidget); pushFunction(L_p, "getWidgetText", getWidgetText); + pushFunction(L_p, "setWidgetFixedSize", setWidgetFixedSize); pushFunction(L_p, "setWidgetLayout", setWidgetLayout); + pushFunction(L_p, "setWidgetText", setWidgetText); pushVariant(L_p, "ShowCurrent", 0); pushVariant(L_p, "ShowNormal", 1); pushVariant(L_p, "ShowMinimised", 2); @@ -286,6 +288,28 @@ int LuaEngineGui::setWidgetLayout(lua_State *L_p) return 0; } +int LuaEngineGui::setWidgetText(lua_State *L_p) +{ + if (getArgumentCount(L_p) >= 2) { + void *pointer = getPointer(L_p, 1); + if (pointer != NULL) { + if (((QObject*)pointer)->inherits("QCheckBox")) { + ((QCheckBox*)pointer)->setText(getVariant(L_p, 2).toString()); + } + else if (((QObject*)pointer)->inherits("QLabel")) { + ((QLabel*)pointer)->setText(getVariant(L_p, 2).toString()); + } + else if (((QObject*)pointer)->inherits("QLineEdit")) { + ((QLineEdit*)pointer)->setText(getVariant(L_p, 2).toString()); + } + else if (((QObject*)pointer)->inherits("QWidget")) { + ((QWidget*)pointer)->setWindowTitle(getVariant(L_p, 2).toString()); + } + } + } + return 0; +} + int LuaEngineGui::layoutAddLayout(lua_State *L_p) { if (getArgumentCount(L_p) >= 2) { @@ -602,7 +626,11 @@ int LuaEngineGui::getWidgetText(lua_State *L_p) if (getArgumentCount(L_p) >= 1) { void *pointer = getPointer(L_p, 1); if (pointer != NULL) { - if (((QObject*)pointer)->inherits("QLabel")) { + if (((QObject*)pointer)->inherits("QCheckBox")) { + pushVariant(L_p, ((QCheckBox*)pointer)->text()); + return 1; + } + else if (((QObject*)pointer)->inherits("QLabel")) { pushVariant(L_p, ((QLabel*)pointer)->text()); return 1; } diff --git a/src/luaenginegui/luaengine/LuaEngineGui.h b/src/luaenginegui/luaengine/LuaEngineGui.h index d9693ce..bb2b4a0 100644 --- a/src/luaenginegui/luaengine/LuaEngineGui.h +++ b/src/luaenginegui/luaengine/LuaEngineGui.h @@ -36,6 +36,7 @@ public: static int showWidget(lua_State *L_p); static int setWidgetFixedSize(lua_State *L_p); static int setWidgetLayout(lua_State *L_p); + static int setWidgetText(lua_State *L_p); static int layoutAddLayout(lua_State *L_p); static int layoutAddWidget(lua_State *L_p); static int createCentralWidget(lua_State *L_p);