mirror of
https://gitlab.com/Syping/luaengineapp.git
synced 2024-11-04 21:16:56 +01:00
add StackSwitch
This commit is contained in:
parent
9e2b5acca5
commit
4c01f31b04
2 changed files with 53 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
|||
|
||||
#include "LuaEngineGui.h"
|
||||
#include <QPlainTextEdit>
|
||||
#include <QStackedWidget>
|
||||
#include <QRadioButton>
|
||||
#include <QProgressBar>
|
||||
#include <QApplication>
|
||||
|
@ -154,6 +155,11 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
|||
// Spacer Item
|
||||
pushFunction(L_p, "createSpacerItem", createSpacerItem);
|
||||
|
||||
// Stack Switcher
|
||||
pushFunction(L_p, "createStackSwitch", createStackSwitch);
|
||||
pushFunction(L_p, "createWidgetStack", createWidgetStack);
|
||||
pushFunction(L_p, "addWidgetAsStack", addWidgetAsStack);
|
||||
|
||||
// Tab Bar
|
||||
pushFunction(L_p, "createTabBar", createTabBar);
|
||||
pushFunction(L_p, "createWidgetTab", createWidgetTab);
|
||||
|
@ -701,6 +707,18 @@ int LuaEngineGui::widgetAddText(lua_State *L_p)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int LuaEngineGui::addWidgetAsStack(lua_State *L_p)
|
||||
{
|
||||
if (getArgumentCount(L_p) >= 2) {
|
||||
void *w_pointer = getPointer(L_p, 1);
|
||||
void *t_pointer = getPointer(L_p, 2);
|
||||
if (w_pointer != NULL && t_pointer != NULL && ((QObject*)w_pointer)->inherits("QWidget") && ((QObject*)t_pointer)->inherits("QStackedWidget")) {
|
||||
((QStackedWidget*)t_pointer)->addWidget((QWidget*)w_pointer);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int LuaEngineGui::addWidgetAsTab(lua_State *L_p)
|
||||
{
|
||||
if (getArgumentCount(L_p) >= 3) {
|
||||
|
@ -1094,6 +1112,22 @@ int LuaEngineGui::createSpacerItem(lua_State *L_p)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int LuaEngineGui::createStackSwitch(lua_State *L_p)
|
||||
{
|
||||
QLayout *layout = nullptr;
|
||||
QWidget *parent = nullptr;
|
||||
if (getArgumentCount(L_p) >= 1) {
|
||||
lpForPointer(getPointer(L_p, 1), &layout, &parent);
|
||||
}
|
||||
QStackedWidget *stackedWidget = new QStackedWidget(parent);
|
||||
stackedWidget->setObjectName(nameForPointer(stackedWidget));
|
||||
if (layout != nullptr) {
|
||||
layout->addWidget(stackedWidget);
|
||||
}
|
||||
pushPointer(L_p, stackedWidget);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int LuaEngineGui::createTabBar(lua_State *L_p)
|
||||
{
|
||||
QLayout *layout = nullptr;
|
||||
|
@ -1152,6 +1186,22 @@ int LuaEngineGui::createToolButton(lua_State *L_p)
|
|||
return 1;
|
||||
}
|
||||
|
||||
int LuaEngineGui::createWidgetStack(lua_State *L_p)
|
||||
{
|
||||
if (getArgumentCount(L_p) >= 2) {
|
||||
void *pointer = getPointer(L_p, 2);
|
||||
if (pointer != NULL && ((QObject*)pointer)->inherits("QStackedWidget")) {
|
||||
QStackedWidget *stackedWidget = (QStackedWidget*)pointer;
|
||||
QWidget *widgetStack = new QWidget(stackedWidget);
|
||||
widgetStack->setObjectName(nameForPointer(widgetStack));
|
||||
stackedWidget->addWidget(widgetStack);
|
||||
pushPointer(L_p, widgetStack);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int LuaEngineGui::createWidgetTab(lua_State *L_p)
|
||||
{
|
||||
if (getArgumentCount(L_p) >= 2) {
|
||||
|
|
|
@ -54,6 +54,7 @@ public:
|
|||
static int layoutAddLayout(lua_State *L_p);
|
||||
static int layoutAddWidget(lua_State *L_p);
|
||||
static int widgetAddText(lua_State *L_p);
|
||||
static int addWidgetAsStack(lua_State *L_p);
|
||||
static int addWidgetAsTab(lua_State *L_p);
|
||||
static int createCentralWidget(lua_State *L_p);
|
||||
static int createCheckBox(lua_State *L_p);
|
||||
|
@ -72,10 +73,12 @@ public:
|
|||
static int createPushButton(lua_State *L_p);
|
||||
static int createRadioButton(lua_State *L_p);
|
||||
static int createSpacerItem(lua_State *L_p);
|
||||
static int createStackSwitch(lua_State *L_p);
|
||||
static int createTabBar(lua_State *L_p);
|
||||
static int createTextEdit(lua_State *L_p);
|
||||
static int createToolButton(lua_State *L_p);
|
||||
static int createWidgetTab(lua_State *L_p);
|
||||
static int createWidgetStack(lua_State *L_p);
|
||||
static int isWidgetChecked(lua_State *L_p);
|
||||
static int isWidgetEnabled(lua_State *L_p);
|
||||
static int isWidgetVisible(lua_State *L_p);
|
||||
|
|
Loading…
Reference in a new issue