forked from qt-creator/qt-creator
Lua: Cleanup qt types bindings
Change-Id: Iba58eab8ef5c7439e1db0e27461671cf6d8e5b3e Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -15,6 +15,7 @@ add_qtc_plugin(Lua
|
|||||||
bindings/localsocket.cpp
|
bindings/localsocket.cpp
|
||||||
bindings/macro.cpp
|
bindings/macro.cpp
|
||||||
bindings/messagemanager.cpp
|
bindings/messagemanager.cpp
|
||||||
|
bindings/qt.cpp
|
||||||
bindings/qtcprocess.cpp
|
bindings/qtcprocess.cpp
|
||||||
bindings/settings.cpp
|
bindings/settings.cpp
|
||||||
bindings/texteditor.cpp
|
bindings/texteditor.cpp
|
||||||
|
78
src/plugins/lua/bindings/qt.cpp
Normal file
78
src/plugins/lua/bindings/qt.cpp
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
// Copyright (C) 2024 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
|
#include "../luaengine.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
|
||||||
|
namespace Lua::Internal {
|
||||||
|
|
||||||
|
void setupQtModule()
|
||||||
|
{
|
||||||
|
registerProvider("Qt", [](sol::state_view lua) {
|
||||||
|
sol::table qt(lua, sol::create);
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
qt["TextElideMode"] = lua.create_table_with(
|
||||||
|
"ElideLeft", Qt::ElideLeft,
|
||||||
|
"ElideRight", Qt::ElideRight,
|
||||||
|
"ElideMiddle", Qt::ElideMiddle,
|
||||||
|
"ElideNone", Qt::ElideNone
|
||||||
|
);
|
||||||
|
|
||||||
|
qt["QDirIterator"] = lua.create_table_with(
|
||||||
|
"IteratorFlag", lua.create_table_with(
|
||||||
|
"NoIteratorFlags", QDirIterator::NoIteratorFlags,
|
||||||
|
"FollowSymlinks", QDirIterator::FollowSymlinks,
|
||||||
|
"Subdirectories", QDirIterator::Subdirectories
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
qt["QDir"] = lua.create_table_with(
|
||||||
|
// QDir::Filters
|
||||||
|
"Filters", lua.create_table_with(
|
||||||
|
"Dirs", QDir::Dirs,
|
||||||
|
"Files", QDir::Files,
|
||||||
|
"Drives", QDir::Drives,
|
||||||
|
"NoSymLinks", QDir::NoSymLinks,
|
||||||
|
"AllEntries", QDir::AllEntries,
|
||||||
|
"TypeMask", QDir::TypeMask,
|
||||||
|
"Readable", QDir::Readable,
|
||||||
|
"Writable", QDir::Writable,
|
||||||
|
"Executable", QDir::Executable,
|
||||||
|
"PermissionMask", QDir::PermissionMask,
|
||||||
|
"Modified", QDir::Modified,
|
||||||
|
"Hidden", QDir::Hidden,
|
||||||
|
"System", QDir::System,
|
||||||
|
"AccessMask", QDir::AccessMask,
|
||||||
|
"AllDirs", QDir::AllDirs,
|
||||||
|
"CaseSensitive", QDir::CaseSensitive,
|
||||||
|
"NoDot", QDir::NoDot,
|
||||||
|
"NoDotDot", QDir::NoDotDot,
|
||||||
|
"NoDotAndDotDot", QDir::NoDotAndDotDot,
|
||||||
|
"NoFilter", QDir::NoFilter
|
||||||
|
),
|
||||||
|
|
||||||
|
// QDir::SortFlag
|
||||||
|
"SortFlags", lua.create_table_with(
|
||||||
|
"Name", QDir::Name,
|
||||||
|
"Time", QDir::Time,
|
||||||
|
"Size", QDir::Size,
|
||||||
|
"Unsorted", QDir::Unsorted,
|
||||||
|
"SortByMask", QDir::SortByMask,
|
||||||
|
"DirsFirst", QDir::DirsFirst,
|
||||||
|
"Reversed", QDir::Reversed,
|
||||||
|
"IgnoreCase", QDir::IgnoreCase,
|
||||||
|
"DirsLast", QDir::DirsLast,
|
||||||
|
"LocaleAware", QDir::LocaleAware,
|
||||||
|
"Type", QDir::Type,
|
||||||
|
"NoSort", QDir::NoSort
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
return qt;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Lua::Internal
|
@@ -3,6 +3,12 @@
|
|||||||
|
|
||||||
#include "luaengine.h"
|
#include "luaengine.h"
|
||||||
|
|
||||||
|
#include <QColor>
|
||||||
|
#include <QPoint>
|
||||||
|
#include <QRect>
|
||||||
|
#include <QSize>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
// This defines the conversion from QString to lua_string and vice versa
|
// This defines the conversion from QString to lua_string and vice versa
|
||||||
bool sol_lua_check(sol::types<QString>,
|
bool sol_lua_check(sol::types<QString>,
|
||||||
lua_State *L,
|
lua_State *L,
|
||||||
@@ -241,75 +247,3 @@ int sol_lua_push(sol::types<QStringList>, lua_State *L, const QStringList &value
|
|||||||
table.add(str);
|
table.add(str);
|
||||||
return sol::stack::push(L, table);
|
return sol::stack::push(L, table);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Lua::Internal {
|
|
||||||
|
|
||||||
void setupQtModule()
|
|
||||||
{
|
|
||||||
registerProvider("Qt", [](sol::state_view lua) {
|
|
||||||
sol::table qt(lua, sol::create);
|
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
qt["TextElideMode"] = lua.create_table_with(
|
|
||||||
"ElideLeft", Qt::ElideLeft,
|
|
||||||
"ElideRight", Qt::ElideRight,
|
|
||||||
"ElideMiddle", Qt::ElideMiddle,
|
|
||||||
"ElideNone", Qt::ElideNone
|
|
||||||
);
|
|
||||||
|
|
||||||
qt["QDirIterator"] = lua.create_table_with(
|
|
||||||
"IteratorFlag", lua.create_table_with(
|
|
||||||
"NoIteratorFlags", QDirIterator::NoIteratorFlags,
|
|
||||||
"FollowSymlinks", QDirIterator::FollowSymlinks,
|
|
||||||
"Subdirectories", QDirIterator::Subdirectories
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
qt["QDir"] = lua.create_table_with(
|
|
||||||
// QDir::Filters
|
|
||||||
"Filters", lua.create_table_with(
|
|
||||||
"Dirs", QDir::Dirs,
|
|
||||||
"Files", QDir::Files,
|
|
||||||
"Drives", QDir::Drives,
|
|
||||||
"NoSymLinks", QDir::NoSymLinks,
|
|
||||||
"AllEntries", QDir::AllEntries,
|
|
||||||
"TypeMask", QDir::TypeMask,
|
|
||||||
"Readable", QDir::Readable,
|
|
||||||
"Writable", QDir::Writable,
|
|
||||||
"Executable", QDir::Executable,
|
|
||||||
"PermissionMask", QDir::PermissionMask,
|
|
||||||
"Modified", QDir::Modified,
|
|
||||||
"Hidden", QDir::Hidden,
|
|
||||||
"System", QDir::System,
|
|
||||||
"AccessMask", QDir::AccessMask,
|
|
||||||
"AllDirs", QDir::AllDirs,
|
|
||||||
"CaseSensitive", QDir::CaseSensitive,
|
|
||||||
"NoDot", QDir::NoDot,
|
|
||||||
"NoDotDot", QDir::NoDotDot,
|
|
||||||
"NoDotAndDotDot", QDir::NoDotAndDotDot,
|
|
||||||
"NoFilter", QDir::NoFilter
|
|
||||||
),
|
|
||||||
|
|
||||||
// QDir::SortFlag
|
|
||||||
"SortFlags", lua.create_table_with(
|
|
||||||
"Name", QDir::Name,
|
|
||||||
"Time", QDir::Time,
|
|
||||||
"Size", QDir::Size,
|
|
||||||
"Unsorted", QDir::Unsorted,
|
|
||||||
"SortByMask", QDir::SortByMask,
|
|
||||||
"DirsFirst", QDir::DirsFirst,
|
|
||||||
"Reversed", QDir::Reversed,
|
|
||||||
"IgnoreCase", QDir::IgnoreCase,
|
|
||||||
"DirsLast", QDir::DirsLast,
|
|
||||||
"LocaleAware", QDir::LocaleAware,
|
|
||||||
"Type", QDir::Type,
|
|
||||||
"NoSort", QDir::NoSort
|
|
||||||
)
|
|
||||||
);
|
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
return qt;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Lua::Internal
|
|
||||||
|
Reference in New Issue
Block a user