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/macro.cpp
|
||||
bindings/messagemanager.cpp
|
||||
bindings/qt.cpp
|
||||
bindings/qtcprocess.cpp
|
||||
bindings/settings.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 <QColor>
|
||||
#include <QPoint>
|
||||
#include <QRect>
|
||||
#include <QSize>
|
||||
#include <QString>
|
||||
|
||||
// This defines the conversion from QString to lua_string and vice versa
|
||||
bool sol_lua_check(sol::types<QString>,
|
||||
lua_State *L,
|
||||
@@ -241,75 +247,3 @@ int sol_lua_push(sol::types<QStringList>, lua_State *L, const QStringList &value
|
||||
table.add(str);
|
||||
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