diff --git a/src/luaenginegui/luaengine/LuaEngineGui.cpp b/src/luaenginegui/luaengine/LuaEngineGui.cpp index ffa80e0..5fc6bb4 100644 --- a/src/luaenginegui/luaengine/LuaEngineGui.cpp +++ b/src/luaenginegui/luaengine/LuaEngineGui.cpp @@ -74,6 +74,7 @@ void LuaEngineGui::pushClass(lua_State *L_p) pushFunction(L_p, "isWidgetChecked", isWidgetChecked); pushFunction(L_p, "getWidgetText", getWidgetText); pushFunction(L_p, "setWidgetChecked", setWidgetChecked); + pushFunction(L_p, "setWidgetEnabled", setWidgetEnabled); pushFunction(L_p, "setWidgetFixed", setWidgetFixed); pushFunction(L_p, "setWidgetLayout", setWidgetLayout); pushFunction(L_p, "setWidgetText", setWidgetText); @@ -391,6 +392,24 @@ int LuaEngineGui::setWidgetChecked(lua_State *L_p) return 0; } +int LuaEngineGui::setWidgetEnabled(lua_State *L_p) +{ + if (getArgumentCount(L_p) >= 1) { + void *pointer = getPointer(L_p, 1); + if (pointer != NULL) { + bool isEnabled = true; + if (getArgumentCount(L_p) >= 2) { + isEnabled = getVariant(L_p, 2).toBool(); + } + if (((QObject*)pointer)->inherits("QWidget")) { + ((QWidget*)pointer)->setEnabled(isEnabled); + } + return 0; + } + } + return 0; +} + int LuaEngineGui::setWidgetFixed(lua_State *L_p) { if (getArgumentCount(L_p) >= 1) { diff --git a/src/luaenginegui/luaengine/LuaEngineGui.h b/src/luaenginegui/luaengine/LuaEngineGui.h index f30b68d..229aee8 100644 --- a/src/luaenginegui/luaengine/LuaEngineGui.h +++ b/src/luaenginegui/luaengine/LuaEngineGui.h @@ -38,6 +38,7 @@ public: static int setLayoutMargins(lua_State *L_p); static int setMenuShortcut(lua_State *L_p); static int setWidgetChecked(lua_State *L_p); + static int setWidgetEnabled(lua_State *L_p); static int setWidgetFixed(lua_State *L_p); static int setWidgetLayout(lua_State *L_p); static int setWidgetSize(lua_State *L_p);