mirror of
https://gitlab.com/Syping/luaengineapp.git
synced 2024-12-22 20:05:30 +01:00
improvements
This commit is contained in:
parent
fb6a449d83
commit
ad1505251d
4 changed files with 246 additions and 62 deletions
|
@ -18,48 +18,35 @@
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
local mainWindow
|
local mainWindow
|
||||||
local mainLayout
|
local dialogLineEdit
|
||||||
local mainWidget
|
|
||||||
local menuBar
|
|
||||||
local menuFile
|
|
||||||
local menuHelp
|
|
||||||
local menuEntryExit
|
|
||||||
local menuEntryAbout
|
|
||||||
local labelLayout
|
|
||||||
local appLabel1
|
|
||||||
local appLabel2
|
|
||||||
local pushButton1
|
|
||||||
local checkBox1
|
|
||||||
|
|
||||||
function main()
|
function main()
|
||||||
mainWindow = createMainWindow()
|
mainWindow = createMainWindow()
|
||||||
mainWidget = createCentralWidget(mainWindow)
|
local mainWidget = createCentralWidget(mainWindow)
|
||||||
mainLayout = createLayout(VerticalLayout, mainWidget)
|
local mainLayout = createLayout(VerticalLayout, mainWidget)
|
||||||
|
|
||||||
menuBar = createMenuBar(mainWindow)
|
local menuBar = createMenuBar(mainWindow)
|
||||||
menuFile = createMenu("File", menuBar)
|
local menuFile = createMenu("File", menuBar)
|
||||||
menuEntryExit = createMenuEntry("Exit", menuFile)
|
local menuEntryExit = createMenuEntry("Exit", menuFile)
|
||||||
connect(menuEntryExit, "triggered()", "closeWindow")
|
connect(menuEntryExit, "triggered()", "closeWindow")
|
||||||
menuHelp = createMenu("Help", menuBar)
|
local menuHelp = createMenu("Help", menuBar)
|
||||||
menuEntryAbout = createMenuEntry("About LuaEngine", menuHelp)
|
local menuEntryAbout = createMenuEntry("About LuaEngine", menuHelp)
|
||||||
connect(menuEntryAbout, "triggered()", "showAboutBox")
|
connect(menuEntryAbout, "triggered()", "showAboutBox")
|
||||||
|
|
||||||
labelLayout = createLayout(HorizontalLayout, mainLayout)
|
local labelLayout = createLayout(HorizontalLayout, mainLayout)
|
||||||
layoutAddLayout(mainLayout, labelLayout)
|
local appLabel1 = createLabel("LuaEngine greets!", mainWidget)
|
||||||
appLabel1 = createLabel("LuaEngine greets!", mainWidget)
|
|
||||||
layoutAddWidget(labelLayout, appLabel1)
|
layoutAddWidget(labelLayout, appLabel1)
|
||||||
appLabel2 = createLabel("..and not only one time!", mainWidget)
|
local appLabel2 = createLabel("..and not only one time!", mainWidget)
|
||||||
layoutAddWidget(labelLayout, appLabel2)
|
layoutAddWidget(labelLayout, appLabel2)
|
||||||
|
|
||||||
checkBox1 = createCheckBox("Want to check me?", mainWidget)
|
local checkBox1 = createCheckBox("Want to check me?", mainWidget)
|
||||||
layoutAddWidget(mainLayout, checkBox1)
|
layoutAddWidget(mainLayout, checkBox1)
|
||||||
|
|
||||||
pushButton1 = createPushButton("Press me hard please!", mainWidget)
|
local pushButton1 = createPushButton("Press me hard please!", mainWidget)
|
||||||
layoutAddWidget(mainLayout, pushButton1)
|
layoutAddWidget(mainLayout, pushButton1)
|
||||||
connect(pushButton1, "clicked()", "showHarderBox")
|
connect(pushButton1, "clicked()", "showDialog")
|
||||||
|
|
||||||
showWidget(mainWindow, ShowNormal)
|
showWidget(mainWindow, ShowNormal)
|
||||||
|
|
||||||
return GuiExecuted
|
return GuiExecuted
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -71,8 +58,25 @@ function showAboutBox(menuEntry)
|
||||||
showMessageBox(InfoMessageBox, "You triggered the About Box!", "LuaEngine", mainWindow)
|
showMessageBox(InfoMessageBox, "You triggered the About Box!", "LuaEngine", mainWindow)
|
||||||
end
|
end
|
||||||
|
|
||||||
function showHarderBox(pushButton)
|
function showDialog(pushButton)
|
||||||
showMessageBox(InfoMessageBox, "Harder pls!", "LuaEngine", mainWindow)
|
local dialog = createDialog("LuaEngine", mainWindow)
|
||||||
|
local dialogLayout = createLayout(VerticalLayout, dialog)
|
||||||
|
local dialogLabel = createLabel("Yes, you have open a Dialog!", dialog)
|
||||||
|
layoutAddWidget(dialogLayout, dialogLabel)
|
||||||
|
dialogLineEdit = createLineEdit("", dialog)
|
||||||
|
layoutAddWidget(dialogLayout, dialogLineEdit)
|
||||||
|
local buttonLayout = createLayout(HorizontalLayout, dialogLayout)
|
||||||
|
createSpacerItem(SizePolicyExpanding, SizePolicyMinimum, buttonLayout)
|
||||||
|
local dialogButton = createPushButton("Close", dialog)
|
||||||
|
layoutAddWidget(buttonLayout, dialogButton)
|
||||||
|
connect(dialogButton, "clicked()", "closeDialog")
|
||||||
|
executeWidget(dialog)
|
||||||
|
delete(dialog, DeleteInstant)
|
||||||
|
end
|
||||||
|
|
||||||
|
function closeDialog(pushButton)
|
||||||
|
disconnect(pushButton, "clicked()")
|
||||||
|
closeWidget(getParent(pushButton))
|
||||||
end
|
end
|
||||||
|
|
||||||
function testMessageBoxes()
|
function testMessageBoxes()
|
||||||
|
|
|
@ -75,7 +75,6 @@ QLabel {
|
||||||
border: 0px;
|
border: 0px;
|
||||||
}
|
}
|
||||||
QLineEdit {
|
QLineEdit {
|
||||||
font-size: 10pt;
|
|
||||||
background-color: rgb(215, 120, 50);
|
background-color: rgb(215, 120, 50);
|
||||||
color: rgb(255, 255, 255);
|
color: rgb(255, 255, 255);
|
||||||
selection-background-color: rgb(255, 255, 255);
|
selection-background-color: rgb(255, 255, 255);
|
||||||
|
|
|
@ -22,11 +22,16 @@
|
||||||
#include <QMetaObject>
|
#include <QMetaObject>
|
||||||
#include <QMetaMethod>
|
#include <QMetaMethod>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
|
#include <QSpacerItem>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
#include <QSizePolicy>
|
||||||
|
#include <QEventLoop>
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QMenuBar>
|
#include <QMenuBar>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
#include <QWindow>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
@ -52,6 +57,7 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
|
|
||||||
// Widget
|
// Widget
|
||||||
pushFunction(L_p, "closeWidget", closeWidget);
|
pushFunction(L_p, "closeWidget", closeWidget);
|
||||||
|
pushFunction(L_p, "executeWidget", executeWidget);
|
||||||
pushFunction(L_p, "showWidget", showWidget);
|
pushFunction(L_p, "showWidget", showWidget);
|
||||||
pushFunction(L_p, "setWidgetLayout", setWidgetLayout);
|
pushFunction(L_p, "setWidgetLayout", setWidgetLayout);
|
||||||
pushVariant(L_p, "ShowCurrent", 0);
|
pushVariant(L_p, "ShowCurrent", 0);
|
||||||
|
@ -63,6 +69,9 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
// Check Box
|
// Check Box
|
||||||
pushFunction(L_p, "createCheckBox", createCheckBox);
|
pushFunction(L_p, "createCheckBox", createCheckBox);
|
||||||
|
|
||||||
|
// Dialog
|
||||||
|
pushFunction(L_p, "createDialog", createDialog);
|
||||||
|
|
||||||
// Label
|
// Label
|
||||||
pushFunction(L_p, "createLabel", createLabel);
|
pushFunction(L_p, "createLabel", createLabel);
|
||||||
|
|
||||||
|
@ -73,6 +82,9 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
pushVariant(L_p, "HorizontalLayout", 0);
|
pushVariant(L_p, "HorizontalLayout", 0);
|
||||||
pushVariant(L_p, "VerticalLayout", 1);
|
pushVariant(L_p, "VerticalLayout", 1);
|
||||||
|
|
||||||
|
// Line Edit
|
||||||
|
pushFunction(L_p, "createLineEdit", createLineEdit);
|
||||||
|
|
||||||
// Main Window
|
// Main Window
|
||||||
pushFunction(L_p, "createMainWindow", createMainWindow);
|
pushFunction(L_p, "createMainWindow", createMainWindow);
|
||||||
pushFunction(L_p, "createCentralWidget", createCentralWidget);
|
pushFunction(L_p, "createCentralWidget", createCentralWidget);
|
||||||
|
@ -84,6 +96,20 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
|
|
||||||
// Push Button
|
// Push Button
|
||||||
pushFunction(L_p, "createPushButton", createPushButton);
|
pushFunction(L_p, "createPushButton", createPushButton);
|
||||||
|
|
||||||
|
// Spacer Item
|
||||||
|
pushFunction(L_p, "createSpacerItem", createSpacerItem);
|
||||||
|
|
||||||
|
// Size Policy
|
||||||
|
pushVariant(L_p, "SizePolicyFixed", (int)QSizePolicy::Fixed);
|
||||||
|
pushVariant(L_p, "SizePolicyMinimum", (int)QSizePolicy::Minimum);
|
||||||
|
pushVariant(L_p, "SizePolicyMaximum", (int)QSizePolicy::Maximum);
|
||||||
|
pushVariant(L_p, "SizePolicyPreferred", (int)QSizePolicy::Preferred);
|
||||||
|
pushVariant(L_p, "SizePolicyExpanding", (int)QSizePolicy::Expanding);
|
||||||
|
pushVariant(L_p, "SizePolicyIgnored", (int)QSizePolicy::Ignored);
|
||||||
|
|
||||||
|
// Object functions
|
||||||
|
pushFunction(L_p, "getParent", getParent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaEngineGui::pushClass(LuaEngine *luaEngine)
|
void LuaEngineGui::pushClass(LuaEngine *luaEngine)
|
||||||
|
@ -149,31 +175,70 @@ int LuaEngineGui::closeWidget(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::executeWidget(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
||||||
|
QVariant isFixed = ((QObject*)pointer)->property("isFixed");
|
||||||
|
if (isFixed.type() == QVariant::Bool && isFixed.toBool()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||||
|
}
|
||||||
|
if (((QObject*)pointer)->inherits("QDialog")) {
|
||||||
|
((QDialog*)pointer)->exec();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
((QWidget*)pointer)->show();
|
||||||
|
QEventLoop executeLoop;
|
||||||
|
while (((QWidget*)pointer)->isVisible()) {
|
||||||
|
QTimer::singleShot(100, &executeLoop, SLOT(quit()));
|
||||||
|
executeLoop.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineGui::showWidget(lua_State *L_p)
|
int LuaEngineGui::showWidget(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 1) {
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
void *pointer = getPointer(L_p, 1);
|
void *pointer = getPointer(L_p, 1);
|
||||||
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
||||||
QWidget *widget = (QWidget*)pointer;
|
|
||||||
int showMode = 0;
|
int showMode = 0;
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
showMode = getVariant(L_p, 2).toInt();
|
showMode = getVariant(L_p, 2).toInt();
|
||||||
}
|
}
|
||||||
|
QVariant isFixed = ((QObject*)pointer)->property("isFixed");
|
||||||
|
if (isFixed.type() == QVariant::Bool && isFixed.toBool()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||||
|
}
|
||||||
switch (showMode) {
|
switch (showMode) {
|
||||||
case 1:
|
case 1:
|
||||||
widget->showNormal();
|
((QWidget*)pointer)->showNormal();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
widget->showMinimized();
|
((QWidget*)pointer)->showMinimized();
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
widget->showMaximized();
|
((QWidget*)pointer)->showMaximized();
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
widget->showFullScreen();
|
((QWidget*)pointer)->showFullScreen();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
widget->show();
|
((QWidget*)pointer)->show();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -181,6 +246,45 @@ int LuaEngineGui::showWidget(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::setWidgetFixedSize(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
||||||
|
bool isFixed = true;
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
isFixed = getVariant(L_p, 2).toBool();
|
||||||
|
}
|
||||||
|
((QObject*)pointer)->setProperty("isFixed", isFixed);
|
||||||
|
if (isFixed && ((QWidget*)pointer)->isVisible()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
}
|
||||||
|
else if (((QWidget*)pointer)->isVisible()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::setWidgetLayout(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
||||||
|
QWidget *widget = (QWidget*)pointer;
|
||||||
|
void *l_pointer = getPointer(L_p, 2);
|
||||||
|
if (l_pointer!= NULL && ((QObject*)l_pointer)->inherits("QLayout")) {
|
||||||
|
widget->setLayout((QLayout*)l_pointer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineGui::layoutAddLayout(lua_State *L_p)
|
int LuaEngineGui::layoutAddLayout(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
@ -254,6 +358,28 @@ int LuaEngineGui::createCheckBox(lua_State *L_p)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::createDialog(lua_State *L_p)
|
||||||
|
{
|
||||||
|
QVariantList args = getArguments(L_p);
|
||||||
|
QWidget *parent = nullptr;
|
||||||
|
QString windowTitle = "LuaEngine";
|
||||||
|
if (args.length() >= 1) {
|
||||||
|
windowTitle = args.at(0).toString();
|
||||||
|
if (args.length() >= 2) {
|
||||||
|
if ((QMetaType::Type)args.at(1).type() == QMetaType::Void || (QMetaType::Type)args.at(1).type() == QMetaType::VoidStar) {
|
||||||
|
if (((QObject*)qvariant_cast<void*>(args.at(1)))->inherits("QWidget")) {
|
||||||
|
parent = (QWidget*)qvariant_cast<void*>(args.at(1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QDialog *dialog = new QDialog(parent);
|
||||||
|
dialog->setObjectName(nameForPointer(dialog));
|
||||||
|
dialog->setWindowTitle(windowTitle);
|
||||||
|
pushPointer(L_p, dialog);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineGui::createLabel(lua_State *L_p)
|
int LuaEngineGui::createLabel(lua_State *L_p)
|
||||||
{
|
{
|
||||||
QVariantList args = getArguments(L_p);
|
QVariantList args = getArguments(L_p);
|
||||||
|
@ -277,10 +403,50 @@ int LuaEngineGui::createLabel(lua_State *L_p)
|
||||||
}
|
}
|
||||||
|
|
||||||
int LuaEngineGui::createLayout(lua_State *L_p)
|
int LuaEngineGui::createLayout(lua_State *L_p)
|
||||||
|
{
|
||||||
|
QWidget *parent = nullptr;
|
||||||
|
QLayout *layoutParent = nullptr;
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
void *pointer = getPointer(L_p, 2);
|
||||||
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
||||||
|
parent = (QWidget*)pointer;
|
||||||
|
}
|
||||||
|
else if (pointer != NULL && ((QObject*)pointer)->inherits("QLayout")) {
|
||||||
|
layoutParent = (QLayout*)pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void *layout;
|
||||||
|
int layoutType = 0;
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
layoutType = getVariant(L_p, 1).toInt();
|
||||||
|
}
|
||||||
|
switch (layoutType) {
|
||||||
|
case 0:
|
||||||
|
layout = new QHBoxLayout(parent);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
layout = new QVBoxLayout(parent);
|
||||||
|
}
|
||||||
|
((QObject*)layout)->setObjectName(nameForPointer(layout));
|
||||||
|
if (layoutParent != nullptr) {
|
||||||
|
if (layoutParent->inherits("QVBoxLayout")) {
|
||||||
|
((QVBoxLayout*)layoutParent)->addLayout((QLayout*)layout);
|
||||||
|
}
|
||||||
|
else if (layoutParent->inherits("QHBoxLayout")) {
|
||||||
|
((QHBoxLayout*)layoutParent)->addLayout((QLayout*)layout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pushPointer(L_p, layout);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::createLineEdit(lua_State *L_p)
|
||||||
{
|
{
|
||||||
QVariantList args = getArguments(L_p);
|
QVariantList args = getArguments(L_p);
|
||||||
QWidget *parent = nullptr;
|
QWidget *parent = nullptr;
|
||||||
|
QString editText = "LuaEngine";
|
||||||
if (args.length() >= 1) {
|
if (args.length() >= 1) {
|
||||||
|
editText = args.at(0).toString();
|
||||||
if (args.length() >= 2) {
|
if (args.length() >= 2) {
|
||||||
if ((QMetaType::Type)args.at(1).type() == QMetaType::Void || (QMetaType::Type)args.at(1).type() == QMetaType::VoidStar) {
|
if ((QMetaType::Type)args.at(1).type() == QMetaType::Void || (QMetaType::Type)args.at(1).type() == QMetaType::VoidStar) {
|
||||||
if (((QObject*)qvariant_cast<void*>(args.at(1)))->inherits("QWidget")) {
|
if (((QObject*)qvariant_cast<void*>(args.at(1)))->inherits("QWidget")) {
|
||||||
|
@ -289,22 +455,10 @@ int LuaEngineGui::createLayout(lua_State *L_p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int layoutType = args.at(0).toInt();
|
QLineEdit *lineEdit = new QLineEdit(parent);
|
||||||
switch (layoutType) {
|
lineEdit->setObjectName(nameForPointer(lineEdit));
|
||||||
case 0:
|
lineEdit->setText(editText);
|
||||||
{
|
pushPointer(L_p, lineEdit);
|
||||||
QHBoxLayout *layout = new QHBoxLayout(parent);
|
|
||||||
layout->setObjectName(nameForPointer(layout));
|
|
||||||
pushPointer(L_p, layout);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
QVBoxLayout *layout = new QVBoxLayout(parent);
|
|
||||||
layout->setObjectName(nameForPointer(layout));
|
|
||||||
pushPointer(L_p, layout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -406,16 +560,37 @@ int LuaEngineGui::createPushButton(lua_State *L_p)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int LuaEngineGui::setWidgetLayout(lua_State *L_p)
|
int LuaEngineGui::createSpacerItem(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 3) {
|
||||||
void *pointer = getPointer(L_p, 1);
|
void *pointer = getPointer(L_p, 3);
|
||||||
if (pointer != NULL && ((QObject*)pointer)->inherits("QWidget")) {
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QLayout")) {
|
||||||
QWidget *widget = (QWidget*)pointer;
|
if (((QObject*)pointer)->inherits("QVBoxLayout")) {
|
||||||
void *l_pointer = getPointer(L_p, 2);
|
QSpacerItem *spacerItem = new QSpacerItem(0, 0, (QSizePolicy::Policy)getVariant(L_p, 1).toInt(), (QSizePolicy::Policy)getVariant(L_p, 2).toInt());
|
||||||
if (l_pointer!= NULL && ((QObject*)l_pointer)->inherits("QLayout")) {
|
QVBoxLayout *layout = (QVBoxLayout*)pointer;
|
||||||
widget->setLayout((QLayout*)l_pointer);
|
layout->addSpacerItem(spacerItem);
|
||||||
|
pushPointer(L_p, spacerItem);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
else if (((QObject*)pointer)->inherits("QHBoxLayout")) {
|
||||||
|
QSpacerItem *spacerItem = new QSpacerItem(0, 0, (QSizePolicy::Policy)getVariant(L_p, 1).toInt(), (QSizePolicy::Policy)getVariant(L_p, 2).toInt());
|
||||||
|
QHBoxLayout *layout = (QHBoxLayout*)pointer;
|
||||||
|
layout->addSpacerItem(spacerItem);
|
||||||
|
pushPointer(L_p, spacerItem);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::getParent(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL) {
|
||||||
|
pushPointer(L_p, ((QObject*)pointer)->parent());
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -424,6 +599,6 @@ int LuaEngineGui::setWidgetLayout(lua_State *L_p)
|
||||||
QString LuaEngineGui::nameForPointer(void *pointer)
|
QString LuaEngineGui::nameForPointer(void *pointer)
|
||||||
{
|
{
|
||||||
QString nameStorage;
|
QString nameStorage;
|
||||||
QTextStream(&nameStorage) << "LuaEngineGui_" << pointer;
|
QTextStream(&nameStorage) << "LuaEngineGui" << pointer;
|
||||||
return nameStorage;
|
return nameStorage;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,19 +32,25 @@ public:
|
||||||
static void pushClass(LuaEngine *luaEngine);
|
static void pushClass(LuaEngine *luaEngine);
|
||||||
static int showMessageBox(lua_State *L_p);
|
static int showMessageBox(lua_State *L_p);
|
||||||
static int closeWidget(lua_State *L_p);
|
static int closeWidget(lua_State *L_p);
|
||||||
|
static int executeWidget(lua_State *L_p);
|
||||||
static int showWidget(lua_State *L_p);
|
static int showWidget(lua_State *L_p);
|
||||||
|
static int setWidgetFixedSize(lua_State *L_p);
|
||||||
|
static int setWidgetLayout(lua_State *L_p);
|
||||||
static int layoutAddLayout(lua_State *L_p);
|
static int layoutAddLayout(lua_State *L_p);
|
||||||
static int layoutAddWidget(lua_State *L_p);
|
static int layoutAddWidget(lua_State *L_p);
|
||||||
static int createCentralWidget(lua_State *L_p);
|
static int createCentralWidget(lua_State *L_p);
|
||||||
static int createCheckBox(lua_State *L_p);
|
static int createCheckBox(lua_State *L_p);
|
||||||
|
static int createDialog(lua_State *L_p);
|
||||||
static int createLabel(lua_State *L_p);
|
static int createLabel(lua_State *L_p);
|
||||||
static int createLayout(lua_State *L_p);
|
static int createLayout(lua_State *L_p);
|
||||||
|
static int createLineEdit(lua_State *L_p);
|
||||||
static int createMainWindow(lua_State *L_p);
|
static int createMainWindow(lua_State *L_p);
|
||||||
static int createMenu(lua_State *L_p);
|
static int createMenu(lua_State *L_p);
|
||||||
static int createMenuBar(lua_State *L_p);
|
static int createMenuBar(lua_State *L_p);
|
||||||
static int createMenuEntry(lua_State *L_p);
|
static int createMenuEntry(lua_State *L_p);
|
||||||
static int createPushButton(lua_State *L_p);
|
static int createPushButton(lua_State *L_p);
|
||||||
static int setWidgetLayout(lua_State *L_p);
|
static int createSpacerItem(lua_State *L_p);
|
||||||
|
static int getParent(lua_State *L_p);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
lua_State *L;
|
lua_State *L;
|
||||||
|
|
Loading…
Reference in a new issue