mirror of
https://gitlab.com/Syping/luaengineapp.git
synced 2025-01-10 12:54:23 +01:00
+ createListItem, createListView, getObjectParent, LEListWidgetItem,
setParent -> setObjectParent
This commit is contained in:
parent
ff28849d90
commit
fcabd1685d
7 changed files with 216 additions and 33 deletions
|
@ -31,9 +31,10 @@ LuaEngine::LuaEngine(QObject *parent, bool loadBaseLibraries) : QObject(parent)
|
||||||
pushVariant("DeleteInstant", 0);
|
pushVariant("DeleteInstant", 0);
|
||||||
pushVariant("DeleteLater", 1);
|
pushVariant("DeleteLater", 1);
|
||||||
pushFunction("delete", luaObjectDelete_p);
|
pushFunction("delete", luaObjectDelete_p);
|
||||||
pushFunction("getParent", luaObjectParent_p);
|
|
||||||
pushFunction("connect", luaTriggerConnect_p);
|
pushFunction("connect", luaTriggerConnect_p);
|
||||||
pushFunction("disconnect", luaTriggerDisconnect_p);
|
pushFunction("disconnect", luaTriggerDisconnect_p);
|
||||||
|
pushFunction("getObjectParent", luaObjectGetParent_p);
|
||||||
|
pushFunction("setObjectParent", luaObjectSetParent_p);
|
||||||
pushFunction("luaEngineVersion", luaEngineVersion_p);
|
pushFunction("luaEngineVersion", luaEngineVersion_p);
|
||||||
pushFunction("luaEnginePlatform", luaEnginePlatform_p);
|
pushFunction("luaEnginePlatform", luaEnginePlatform_p);
|
||||||
}
|
}
|
||||||
|
@ -427,7 +428,7 @@ int LuaEngine::luaObjectDelete_p(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int LuaEngine::luaObjectParent_p(lua_State *L_p)
|
int LuaEngine::luaObjectGetParent_p(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);
|
||||||
|
@ -439,6 +440,18 @@ int LuaEngine::luaObjectParent_p(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngine::luaObjectSetParent_p(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
void *o_pointer = getPointer(L_p, 1);
|
||||||
|
void *p_pointer = getPointer(L_p, 2);
|
||||||
|
if (o_pointer != NULL && p_pointer != NULL && ((QObject*)o_pointer)->inherits("QObject") && ((QObject*)p_pointer)->inherits("QObject")) {
|
||||||
|
((QObject*)o_pointer)->setParent((QObject*)p_pointer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngine::luaTriggerConnect_p(lua_State *L_p)
|
int LuaEngine::luaTriggerConnect_p(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 3) {
|
if (getArgumentCount(L_p) >= 3) {
|
||||||
|
@ -455,7 +468,7 @@ int LuaEngine::luaTriggerConnect_p(lua_State *L_p)
|
||||||
QMetaMethod slot = engine->metaObject()->method(slotIndex);
|
QMetaMethod slot = engine->metaObject()->method(slotIndex);
|
||||||
QString funcStorage;
|
QString funcStorage;
|
||||||
QTextStream(&funcStorage) << "__ConnectFunc_" << object << "_" << signal.name();
|
QTextStream(&funcStorage) << "__ConnectFunc_" << object << "_" << signal.name();
|
||||||
pushVariant(L_p, funcStorage.toUtf8().data(), getVariant(L_p, 3).toString());
|
engine->setProperty(funcStorage.toUtf8().data(), getVariant(L_p, 3));
|
||||||
QObject::connect(object, signal, engine, slot);
|
QObject::connect(object, signal, engine, slot);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -480,7 +493,7 @@ int LuaEngine::luaTriggerDisconnect_p(lua_State *L_p)
|
||||||
QMetaMethod slot = engine->metaObject()->method(slotIndex);
|
QMetaMethod slot = engine->metaObject()->method(slotIndex);
|
||||||
QString funcStorage;
|
QString funcStorage;
|
||||||
QTextStream(&funcStorage) << "__ConnectFunc_" << object << "_" << signal.name();
|
QTextStream(&funcStorage) << "__ConnectFunc_" << object << "_" << signal.name();
|
||||||
pushVariant(L_p, funcStorage.toUtf8().data(), QVariant());
|
engine->setProperty(funcStorage.toUtf8().data(), QVariant());
|
||||||
QObject::disconnect(object, signal, engine, slot);
|
QObject::disconnect(object, signal, engine, slot);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -494,6 +507,6 @@ void LuaEngine::luaTriggerSlot_p()
|
||||||
QMetaMethod signal = sender()->metaObject()->method(senderSignalIndex());
|
QMetaMethod signal = sender()->metaObject()->method(senderSignalIndex());
|
||||||
QString funcStorage;
|
QString funcStorage;
|
||||||
QTextStream(&funcStorage) << "__ConnectFunc_" << sender() << "_" << signal.name();
|
QTextStream(&funcStorage) << "__ConnectFunc_" << sender() << "_" << signal.name();
|
||||||
QString luaConnectFunc = getVariant(funcStorage.toUtf8().data()).toString();
|
QString luaConnectFunc = property(funcStorage.toUtf8().data()).toString();
|
||||||
executeLuaFunction(luaConnectFunc.toUtf8().data(), QVariant::fromValue((void*)sender()));
|
executeLuaFunction(luaConnectFunc.toUtf8().data(), QVariant::fromValue((void*)sender()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,8 @@ private:
|
||||||
static int luaEngineVersion_p(lua_State *L_p);
|
static int luaEngineVersion_p(lua_State *L_p);
|
||||||
static int luaEnginePlatform_p(lua_State *L_p);
|
static int luaEnginePlatform_p(lua_State *L_p);
|
||||||
static int luaObjectDelete_p(lua_State *L_p);
|
static int luaObjectDelete_p(lua_State *L_p);
|
||||||
static int luaObjectParent_p(lua_State *L_p);
|
static int luaObjectGetParent_p(lua_State *L_p);
|
||||||
|
static int luaObjectSetParent_p(lua_State *L_p);
|
||||||
static int luaTriggerConnect_p(lua_State *L_p);
|
static int luaTriggerConnect_p(lua_State *L_p);
|
||||||
static int luaTriggerDisconnect_p(lua_State *L_p);
|
static int luaTriggerDisconnect_p(lua_State *L_p);
|
||||||
|
|
||||||
|
|
38
src/luaenginegui/luaengine/LEListWidgetItem.cpp
Normal file
38
src/luaenginegui/luaengine/LEListWidgetItem.cpp
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*****************************************************************************
|
||||||
|
* luaEngine Lua Engine for Qt
|
||||||
|
* Copyright (C) 2020 Syping
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "LEListWidgetItem.h"
|
||||||
|
|
||||||
|
LEListWidgetItem::LEListWidgetItem(const QString &text, QListWidget *parent)
|
||||||
|
{
|
||||||
|
item_p.setText(text);
|
||||||
|
parent->addItem(&item_p);
|
||||||
|
QObject::connect(parent, &QListWidget::currentItemChanged, this, &LEListWidgetItem::listWidgetItemChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
QListWidgetItem* LEListWidgetItem::item()
|
||||||
|
{
|
||||||
|
return &item_p;
|
||||||
|
}
|
||||||
|
|
||||||
|
void LEListWidgetItem::listWidgetItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
|
||||||
|
{
|
||||||
|
Q_UNUSED(previous)
|
||||||
|
if (current == &item_p) {
|
||||||
|
emit selected();
|
||||||
|
}
|
||||||
|
}
|
45
src/luaenginegui/luaengine/LEListWidgetItem.h
Normal file
45
src/luaenginegui/luaengine/LEListWidgetItem.h
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/*****************************************************************************
|
||||||
|
* luaEngine Lua Engine for Qt
|
||||||
|
* Copyright (C) 2020 Syping
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef LELISTWIDGETITEM_H
|
||||||
|
#define LELISTWIDGETITEM_H
|
||||||
|
|
||||||
|
#include "LuaEngineGui_global.h"
|
||||||
|
#include "LuaEngine.h"
|
||||||
|
#include <QListWidgetItem>
|
||||||
|
#include <QListWidget>
|
||||||
|
#include <QObject>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
class LUAENGINEGUISHARED_EXPORT LEListWidgetItem : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
LEListWidgetItem(const QString &text, QListWidget *parent = nullptr);
|
||||||
|
QListWidgetItem* item();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void listWidgetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QListWidgetItem item_p;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void selected();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LELISTWIDGETITEM_H
|
|
@ -1,6 +1,6 @@
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* luaEngine Lua Engine for Qt
|
* luaEngine Lua Engine for Qt
|
||||||
* Copyright (C) 2018-2019 Syping
|
* Copyright (C) 2018-2020 Syping
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#include "LuaEngineRegistry.h"
|
#include "LuaEngineRegistry.h"
|
||||||
|
#include "LEListWidgetItem.h"
|
||||||
#include "LuaEngineGui.h"
|
#include "LuaEngineGui.h"
|
||||||
#include <QPlainTextEdit>
|
#include <QPlainTextEdit>
|
||||||
#include <QStackedWidget>
|
#include <QStackedWidget>
|
||||||
|
@ -34,6 +35,7 @@
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QSizePolicy>
|
#include <QSizePolicy>
|
||||||
|
#include <QListWidget>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
#include <QEventLoop>
|
#include <QEventLoop>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
|
@ -102,6 +104,7 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
pushFunction(L_p, "setWidgetLayout", setWidgetLayout);
|
pushFunction(L_p, "setWidgetLayout", setWidgetLayout);
|
||||||
pushFunction(L_p, "setWidgetMaximum", setWidgetMaximum);
|
pushFunction(L_p, "setWidgetMaximum", setWidgetMaximum);
|
||||||
pushFunction(L_p, "setWidgetMinimum", setWidgetMinimum);
|
pushFunction(L_p, "setWidgetMinimum", setWidgetMinimum);
|
||||||
|
pushFunction(L_p, "setWidgetParent", setWidgetParent);
|
||||||
pushFunction(L_p, "setWidgetReadOnly", setWidgetReadOnly);
|
pushFunction(L_p, "setWidgetReadOnly", setWidgetReadOnly);
|
||||||
pushFunction(L_p, "setWidgetSize", setWidgetSize);
|
pushFunction(L_p, "setWidgetSize", setWidgetSize);
|
||||||
pushFunction(L_p, "setWidgetValue", setWidgetValue);
|
pushFunction(L_p, "setWidgetValue", setWidgetValue);
|
||||||
|
@ -137,6 +140,10 @@ void LuaEngineGui::pushClass(lua_State *L_p)
|
||||||
// Line Edit
|
// Line Edit
|
||||||
pushFunction(L_p, "createLineEdit", createLineEdit);
|
pushFunction(L_p, "createLineEdit", createLineEdit);
|
||||||
|
|
||||||
|
// List View
|
||||||
|
pushFunction(L_p, "createListItem", createListItem);
|
||||||
|
pushFunction(L_p, "createListView", createListView);
|
||||||
|
|
||||||
// Main Window
|
// Main Window
|
||||||
pushFunction(L_p, "createMainWindow", createMainWindow);
|
pushFunction(L_p, "createMainWindow", createMainWindow);
|
||||||
pushFunction(L_p, "createCentralWidget", createCentralWidget);
|
pushFunction(L_p, "createCentralWidget", createCentralWidget);
|
||||||
|
@ -484,7 +491,14 @@ int LuaEngineGui::setObjectImage(lua_State *L_p)
|
||||||
pixelRatio = newPixelRatio;
|
pixelRatio = newPixelRatio;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (((QObject*)pointer)->inherits("QAction")) {
|
if (((QObject*)pointer)->inherits("LEListWidgetItem")) {
|
||||||
|
QPixmap objectImage(imagePath);
|
||||||
|
objectImage.setDevicePixelRatio(pixelRatio);
|
||||||
|
QIcon objectIcon;
|
||||||
|
objectIcon.addPixmap(objectImage);
|
||||||
|
((LEListWidgetItem*)pointer)->item()->setIcon(objectIcon);
|
||||||
|
}
|
||||||
|
else if (((QObject*)pointer)->inherits("QAction")) {
|
||||||
QPixmap objectImage(imagePath);
|
QPixmap objectImage(imagePath);
|
||||||
objectImage.setDevicePixelRatio(pixelRatio);
|
objectImage.setDevicePixelRatio(pixelRatio);
|
||||||
QIcon objectIcon;
|
QIcon objectIcon;
|
||||||
|
@ -535,7 +549,10 @@ int LuaEngineGui::setObjectText(lua_State *L_p)
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
void *pointer = getPointer(L_p, 1);
|
void *pointer = getPointer(L_p, 1);
|
||||||
if (pointer != NULL) {
|
if (pointer != NULL) {
|
||||||
if (((QObject*)pointer)->inherits("QAction")) {
|
if (((QObject*)pointer)->inherits("LEListWidgetItem")) {
|
||||||
|
((LEListWidgetItem*)pointer)->item()->setText(getVariant(L_p, 2).toString());
|
||||||
|
}
|
||||||
|
else if (((QObject*)pointer)->inherits("QAction")) {
|
||||||
((QAction*)pointer)->setText(getVariant(L_p, 2).toString());
|
((QAction*)pointer)->setText(getVariant(L_p, 2).toString());
|
||||||
}
|
}
|
||||||
else if (((QObject*)pointer)->inherits("QCheckBox")) {
|
else if (((QObject*)pointer)->inherits("QCheckBox")) {
|
||||||
|
@ -621,26 +638,35 @@ int LuaEngineGui::setWidgetFixed(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) {
|
||||||
bool isFixed = true;
|
if (((QObject*)pointer)->inherits("QToolBar")) {
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
bool isFixed = true;
|
||||||
isFixed = getVariant(L_p, 2).toBool();
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
isFixed = getVariant(L_p, 2).toBool();
|
||||||
|
}
|
||||||
|
((QToolBar*)pointer)->setMovable(!isFixed);
|
||||||
}
|
}
|
||||||
((QObject*)pointer)->setProperty("isFixed", isFixed);
|
else if (((QObject*)pointer)->inherits("QWidget")) {
|
||||||
QVariant isSizeSet = ((QObject*)pointer)->property("isSizeSet");
|
bool isFixed = true;
|
||||||
if (isFixed && ((QWidget*)pointer)->isVisible()) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
isFixed = getVariant(L_p, 2).toBool();
|
||||||
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->sizeHint());
|
}
|
||||||
|
((QObject*)pointer)->setProperty("isFixed", isFixed);
|
||||||
|
QVariant isSizeSet = ((QObject*)pointer)->property("isSizeSet");
|
||||||
|
if (isFixed && ((QWidget*)pointer)->isVisible()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
}
|
||||||
|
else if (isFixed && (isSizeSet.type() == QVariant::Bool && isSizeSet.toBool())) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->size());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->size());
|
||||||
|
}
|
||||||
|
else if (((QWidget*)pointer)->isVisible()) {
|
||||||
|
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
||||||
|
((QWidget*)pointer)->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
else if (isFixed && (isSizeSet.type() == QVariant::Bool && isSizeSet.toBool())) {
|
|
||||||
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->size());
|
|
||||||
((QWidget*)pointer)->setMaximumSize(((QWidget*)pointer)->size());
|
|
||||||
}
|
|
||||||
else if (((QWidget*)pointer)->isVisible()) {
|
|
||||||
((QWidget*)pointer)->setMinimumSize(((QWidget*)pointer)->sizeHint());
|
|
||||||
((QWidget*)pointer)->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -651,7 +677,10 @@ int LuaEngineGui::setWidgetImageSize(lua_State *L_p)
|
||||||
if (getArgumentCount(L_p) >= 3) {
|
if (getArgumentCount(L_p) >= 3) {
|
||||||
void *pointer = getPointer(L_p, 1);
|
void *pointer = getPointer(L_p, 1);
|
||||||
if (pointer != NULL) {
|
if (pointer != NULL) {
|
||||||
if (((QObject*)pointer)->inherits("QPushButton")) {
|
if (((QObject*)pointer)->inherits("QListWidget")) {
|
||||||
|
((QListWidget*)pointer)->setIconSize(QSize(getVariant(L_p, 2).toInt(), getVariant(L_p, 3).toInt()));
|
||||||
|
}
|
||||||
|
else if (((QObject*)pointer)->inherits("QPushButton")) {
|
||||||
((QPushButton*)pointer)->setIconSize(QSize(getVariant(L_p, 2).toInt(), getVariant(L_p, 3).toInt()));
|
((QPushButton*)pointer)->setIconSize(QSize(getVariant(L_p, 2).toInt(), getVariant(L_p, 3).toInt()));
|
||||||
}
|
}
|
||||||
else if (((QObject*)pointer)->inherits("QToolBar")) {
|
else if (((QObject*)pointer)->inherits("QToolBar")) {
|
||||||
|
@ -704,6 +733,18 @@ int LuaEngineGui::setWidgetMinimum(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::setWidgetParent(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
void *o_pointer = getPointer(L_p, 1);
|
||||||
|
void *p_pointer = getPointer(L_p, 2);
|
||||||
|
if (o_pointer != NULL && p_pointer != NULL && ((QObject*)o_pointer)->inherits("QWidget") && ((QObject*)p_pointer)->inherits("QWidget")) {
|
||||||
|
((QWidget*)o_pointer)->setParent((QWidget*)p_pointer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineGui::setWidgetReadOnly(lua_State *L_p)
|
int LuaEngineGui::setWidgetReadOnly(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 1) {
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
@ -1022,6 +1063,43 @@ int LuaEngineGui::createLineEdit(lua_State *L_p)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::createListItem(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
void *pointer = getPointer(L_p, 2);
|
||||||
|
if (pointer != NULL) {
|
||||||
|
if (((QObject*)pointer)->inherits("QListWidget")) {
|
||||||
|
LEListWidgetItem *listWidgetItem = new LEListWidgetItem(getVariant(L_p, 1).toString(), (QListWidget*)pointer);
|
||||||
|
listWidgetItem->setObjectName(nameForPointer(listWidgetItem));
|
||||||
|
pushPointer(L_p, listWidgetItem);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LuaEngineGui::createListView(lua_State *L_p)
|
||||||
|
{
|
||||||
|
QLayout *layout = nullptr;
|
||||||
|
QWidget *parent = nullptr;
|
||||||
|
QListWidget::SelectionMode selectionMode = QListWidget::SingleSelection;
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
lpForPointer(getPointer(L_p, 1), &layout, &parent);
|
||||||
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
selectionMode = (QListWidget::SelectionMode)getVariant(L_p, 2).toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QListWidget *listWidget = new QListWidget(parent);
|
||||||
|
listWidget->setObjectName(nameForPointer(listWidget));
|
||||||
|
listWidget->setSelectionMode(selectionMode);
|
||||||
|
if (layout != nullptr) {
|
||||||
|
layout->addWidget(listWidget);
|
||||||
|
}
|
||||||
|
pushPointer(L_p, listWidget);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineGui::createMainWindow(lua_State *L_p)
|
int LuaEngineGui::createMainWindow(lua_State *L_p)
|
||||||
{
|
{
|
||||||
QWidget *parent = nullptr;
|
QWidget *parent = nullptr;
|
||||||
|
@ -1311,15 +1389,18 @@ int LuaEngineGui::createTextEdit(lua_State *L_p)
|
||||||
|
|
||||||
int LuaEngineGui::createToolBar(lua_State *L_p)
|
int LuaEngineGui::createToolBar(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 1) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
void *pointer = getPointer(L_p, 1);
|
void *pointer = getPointer(L_p, 2);
|
||||||
if (pointer != NULL && ((QObject*)pointer)->inherits("QMainWindow")) {
|
if (pointer != NULL && ((QObject*)pointer)->inherits("QMainWindow")) {
|
||||||
Qt::ToolBarArea toolBarArea = Qt::TopToolBarArea;
|
Qt::ToolBarArea toolBarArea = Qt::TopToolBarArea;
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 3) {
|
||||||
toolBarArea = (Qt::ToolBarArea)getVariant(L_p, 2).toInt();
|
toolBarArea = (Qt::ToolBarArea)getVariant(L_p, 3).toInt();
|
||||||
}
|
}
|
||||||
QToolBar *toolBar = new QToolBar((QWidget*)pointer);
|
QToolBar *toolBar = new QToolBar((QWidget*)pointer);
|
||||||
toolBar->setObjectName(nameForPointer(toolBar));
|
toolBar->setObjectName(nameForPointer(toolBar));
|
||||||
|
toolBar->setWindowTitle(getVariant(L_p, 1).toString());
|
||||||
|
toolBar->setFloatable(false);
|
||||||
|
toolBar->setMovable(false);
|
||||||
((QMainWindow*)pointer)->addToolBar(toolBarArea, toolBar);
|
((QMainWindow*)pointer)->addToolBar(toolBarArea, toolBar);
|
||||||
pushPointer(L_p, toolBar);
|
pushPointer(L_p, toolBar);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* luaEngine Lua Engine for Qt
|
* luaEngine Lua Engine for Qt
|
||||||
* Copyright (C) 2018-2019 Syping
|
* Copyright (C) 2018-2020 Syping
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -50,6 +50,7 @@ public:
|
||||||
static int setWidgetLayout(lua_State *L_p);
|
static int setWidgetLayout(lua_State *L_p);
|
||||||
static int setWidgetMaximum(lua_State *L_p);
|
static int setWidgetMaximum(lua_State *L_p);
|
||||||
static int setWidgetMinimum(lua_State *L_p);
|
static int setWidgetMinimum(lua_State *L_p);
|
||||||
|
static int setWidgetParent(lua_State *L_p);
|
||||||
static int setWidgetReadOnly(lua_State *L_p);
|
static int setWidgetReadOnly(lua_State *L_p);
|
||||||
static int setWidgetSize(lua_State *L_p);
|
static int setWidgetSize(lua_State *L_p);
|
||||||
static int setWidgetValue(lua_State *L_p);
|
static int setWidgetValue(lua_State *L_p);
|
||||||
|
@ -66,6 +67,8 @@ public:
|
||||||
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 createLineEdit(lua_State *L_p);
|
||||||
|
static int createListItem(lua_State *L_p);
|
||||||
|
static int createListView(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);
|
||||||
|
|
|
@ -40,9 +40,11 @@ INCLUDEPATH += \
|
||||||
../luaenginecore/luaengine
|
../luaenginecore/luaengine
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
|
luaengine/LEListWidgetItem.cpp \
|
||||||
luaengine/LuaEngineGui.cpp
|
luaengine/LuaEngineGui.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
luaengine/LEListWidgetItem.h \
|
||||||
luaengine/LuaEngineGui.h \
|
luaengine/LuaEngineGui.h \
|
||||||
luaengine/LuaEngineGui_global.h
|
luaengine/LuaEngineGui_global.h
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue