klayout/scripts/mkqtdecl5/mkqtdecl.conf

1292 lines
79 KiB
Plaintext
Raw Normal View History

#
# Copyright (C) 2006-2018 Matthias Koefferlein
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
load(File.join(File.dirname(__FILE__), "common.conf"))
# --------------------------------------------------------------
# all modules
drop_method :all_classes, /::metaObject/ # messes up the overload scheme since it can be overloaded but is required internally before overloading is effective (on attach). Use staticMetaObject instead.
drop_method :all_classes, /::qt_/ # internal use only
drop_method :all_classes, /::d_func/ # internal use only
drop_method :all_classes, /::connectNotify/ # messes up the overload scheme since it can be overloaded but is required internally before overloading is effective (on attach). Use staticMetaObject instead.
drop_method :all_classes, /\(\s*Qt::Initialization/ # special constructors
drop_method :all_classes, /::qt_check_for_QOBJECT_macro/ # don't include in API!
drop_method :all_classes, /::devType\(/ # not required
drop_method :all_classes, /::data_ptr/ # no private data
drop_method :all_classes, /::x11/ # no X11 stuff
2021-11-27 15:29:38 +01:00
drop_method :all_classes, /\(.*&&.*\)/ # no move semantics
drop_method :all_classes, /.*\s+&&$/ # no move semantics
drop_method :all_classes, /\(.*std::initializer_list.*\)/ # no brace initialization
rename :all_classes, /::create\(/, "qt_create" # clashes with GSI/Ruby
rename :all_classes, /::destroy\(/, "qt_destroy" # clashes with GSI/Ruby
rename :all_classes, /::raise\(/, "qt_raise" # clashes with Ruby "raise" keyword
2017-02-21 20:32:40 +01:00
# --------------------------------------------------------------
# Qt
# drops enum members
drop_enum_const "Qt", /WindowType::WindowSoftkeysVisibleHint/
drop_enum_const "Qt", /WindowType::WindowSoftkeysRespondHint/
drop_enum_const "Qt", /WindowType::WindowOkButtonHint/ # only available on CE
drop_enum_const "Qt", /WindowType::WindowCancelButtonHint/ # only available on CE
2017-02-21 20:32:40 +01:00
# --------------------------------------------------------------
# QtCore
drop_class "QLocale", /Data/
# not implemented:
drop_class "QSequentialIterable", /const_iterator/
drop_class "QAssociativeIterable", /const_iterator/
drop_class "QEnableSharedFromThis"
drop_class "QAbstractConcatenable"
drop_class "QAbstractFileEngineHandler"
drop_class "QAbstractFileEngineIterator"
drop_class "QAbstractFileEngine" # read requires char *
drop_class "QAlgorithmsPrivate"
drop_class "QArrayData"
drop_class "QArrayDataOps"
drop_class "QArrayDataPointer"
drop_class "QArrayDataPointerRef"
drop_class "QArgument"
drop_class "QAssociativeIterableImpl"
drop_class "QSequentialIterableImpl"
drop_class "QAtomic"
drop_class "QAtomicAdditiveType"
drop_class "QAtomicInt"
drop_class "QAtomicInteger"
drop_class "QAtomicOps"
drop_class "QAtomicPointer"
drop_class "QAtomicOpsSupport"
drop_class "QBasicAtomicInt"
drop_class "QBasicAtomicInteger"
drop_class "QBasicAtomicOps"
drop_class "QBasicAtomicPointer"
drop_class "QBBSystemLocaleData"
drop_class "QBitArray"
drop_class "QBitRef"
drop_class "QBool"
drop_class "QByteArray"
drop_class "QByteRef"
drop_class "QCache"
drop_class "QChar"
drop_class "QCharRef"
drop_class "QConstString"
drop_class "QContiguousCache"
drop_class "QContiguousCacheData"
drop_class "QContiguousCacheTypedData"
drop_class "QExplicitlySharedDataPointer"
drop_class "QException" # (TODO) no mapping yet
drop_class "QUnhandledException" # (TODO) no mapping yet
drop_class "QFileInfoPrivate"
drop_class "QFileInfoList"
drop_class "QFileInfoListIterator"
drop_class "QFlag"
drop_class "QFlags"
drop_class "QForeachContainer"
drop_class "QForeachContainerBase"
drop_class "QFuture"
drop_class "QFuture"
drop_class "QFutureInterface"
drop_class "QFutureInterfaceBase"
drop_class "QFutureIterator"
drop_class "QFutureSynchronizer"
drop_class "QFutureWatcher"
drop_class "QFutureWatcherBase"
drop_class "QFSFileEngine"
drop_class "QGenericArgument"
drop_class "QGenericAtomicOps"
drop_class "QGenericReturnArgument"
drop_class "QGlobalStatic"
drop_class "QGlobalStaticDeleter"
drop_class "QHash"
drop_class "QHashData"
drop_class "QHashDummyNode"
drop_class "QHashDummyValue"
drop_class "QHashIterator"
drop_class "QHashNode"
drop_class "QIncompatibleFlag"
drop_class "QInternal"
drop_class "QIntegerForSizeof"
drop_class "QJsonPrivate"
drop_class "QLatin1Char"
drop_class "QLatin1String"
drop_class "QLinkedList"
drop_class "QLinkedListData"
drop_class "QLinkedListIterator"
drop_class "QLinkedListNode"
drop_class "QList"
drop_class "QListData"
drop_class "QListIterator"
drop_class "QListSpecialMethods"
drop_class "QMap"
drop_class "QMapData"
drop_class "QMapIterator"
drop_class "QMapNode"
drop_class "QMapPayloadNode"
drop_class "QMetaObjectExtraData"
drop_class "QMetaTypeId"
drop_class "QMetaTypeId2"
drop_class "QMetaTypeIdQObject"
drop_class "QModelIndexList"
drop_class "QMultiHash"
drop_class "QMultiMap"
drop_class "QMutableHashIterator"
drop_class "QMutableLinkedListIterator"
drop_class "QMutableListIterator"
drop_class "QMutableMapIterator"
drop_class "QMutableSetIterator"
drop_class "QMutableStringListIterator"
drop_class "QMutableVectorIterator"
drop_class "QMutexLocker"
drop_class "QNoImplicitBoolCast"
drop_class "QObjectCleanupHandler"
drop_class "QObjectData"
drop_class "QObjectList"
drop_class "QObjectUserData"
drop_class "QPair"
drop_class "QPointer"
drop_class "QQueue"
drop_class "QReturnArgument"
drop_class "QScopedArrayPointer"
drop_class "QScopedPointerArrayDeleter"
drop_class "QScopedPointerDeleter"
drop_class "QScopedPointerObjectDeleteLater"
drop_class "QScopedPointerPodDeleter"
drop_class "QScopedValueRollback"
drop_class "QSet"
drop_class "QSetIterator"
drop_class "QSharedDataPointer"
drop_class "QSharedData" # where to get QAtomic?
drop_class "QSharedPointer"
drop_class "QStack"
drop_class "QStaticArrayData"
drop_class "QStaticByteArrayData"
drop_class "QStaticStringData"
drop_class "QStdWString"
drop_class "QStringListIterator"
drop_class "QStringList" # mapped otherwise
drop_class "QString" # mapped otherwise
drop_class "QStringRef"
drop_class "QStringBuilder"
drop_class "QStringBuilderBase"
drop_class "QStringBuilderCommon"
drop_class "QtStringBuilder"
drop_class "QtAlgorithms"
drop_class "QtCleanUpFunction"
drop_class "QtContainerFwd"
drop_class "QtDebug"
drop_class "QtEndian"
drop_class "QTextCodecFactoryInterface"
drop_class "QTextCodecPlugin"
drop_class "QTextIStream"
drop_class "QTextOStream"
drop_class "QTextStreamFunction"
drop_class "QTextStreamManipulator"
drop_class "QtGlobal"
drop_class "QThreadStorage"
drop_class "QThreadStorageData"
drop_class "QtMsgHandler"
2021-12-11 10:45:38 +01:00
drop_class "QtMsgType"
2017-02-21 20:32:40 +01:00
drop_class "QtPlugin"
drop_class "QtPluginInstanceFunction"
drop_class "QtPrivate"
drop_class "QtSharedPointer"
drop_class "QtMetaTypePrivate"
drop_class "QtGlobalStatic"
drop_class "QTypeInfo"
drop_class "QTypeInfoMerger"
drop_class "QTypedArrayData"
drop_class "QUuid"
drop_class "QUpdateLaterEvent"
drop_class "QVariantComparisonHelper"
drop_class "QVariantList"
drop_class "QVariant"
drop_class "QVariantMap"
drop_class "QVarLengthArray"
drop_class "QVector"
drop_class "QVectorData"
drop_class "QVectorIterator"
drop_class "QVectorTypedData"
drop_enum_const "QEvent", /CocoaRequestModal/ # not available on WIN
drop_method "QMetaType", /QMetaType::staticMetaObject/ # not available
drop_method "QMetaType", /QMetaType::registerNormalizedType/ # needs function ptrs.
drop_method "QCollator", /QCollator::compare\(.*QStringRef/ # clashes with QString version
drop_method "QLocale", /QLocale::(toDouble|toFloat|toInt|toLongLong|toShort|quoteString|toUInt|toULongLong|toUShort)\(.*QStringRef/ # clashes with QString version
drop_method "QRegularExpression", /QRegularExpression::(match|globalMatch)\(.*QStringRef/ # clashes with QString version
drop_method "QSignalBlocker", /QSignalBlocker::QSignalBlocker\(.*&/ # clashes with pointer version
2017-02-21 20:32:40 +01:00
drop_method "QQuaternion", /QQuaternion::toRotationMatrix\(/ # GenericMatrix not available
drop_method "QQuaternion", /QQuaternion::fromRotationMatrix\(/ # GenericMatrix not available
drop_method "QJsonValue", /QJsonValue::QJsonValue\(\s*const\s+char\s*\*/ # clashes with QString version
drop_method "QJsonValue", /QJsonValue::QJsonValue\(\s*int\s+/ # clashes with long version
2017-02-21 20:32:40 +01:00
drop_method "QJsonValue", /QJsonValue::QJsonValue\(\s*QLatin1String/ # QLatin1String not available
drop_method "QTextBoundaryFinder", /QTextBoundaryFinder::QTextBoundaryFinder\(.*unsigned\s+char\s*\*/ # unsigned char * not available
drop_method "QMessageLogger", /QMessageLogger::critical\(.*catFunc/ # function pointers not supported currently
drop_method "QMessageLogger", /QMessageLogger::debug\(.*catFunc/ # function pointers not supported currently
drop_method "QMessageLogger", /QMessageLogger::info\(.*catFunc/ # function pointers not supported currently
drop_method "QMessageLogger", /QMessageLogger::warning\(.*catFunc/ # function pointers not supported currently
drop_method "QMessageLogContext", /QMessageLogContext::copy/ # unresolved in linker and not supported
drop_method "QAssociativeIterable", /QAssociativeIterable::QAssociativeIterable/ # No supportable constructor
drop_method "QAssociativeIterable", /QAssociativeIterable::find/ # (TODO): iterators not supported yet
drop_method "QAssociativeIterable", /QAssociativeIterable::begin/ # (TODO): iterators not supported yet
drop_method "QAssociativeIterable", /QAssociativeIterable::end/ # (TODO): iterators not supported yet
drop_method "QSequentialIterable", /QSequentialIterable::QSequentialIterable\(QtMetaTypePrivate::QSequentialIterableImpl/ # QSequentialIterableImpl not available
drop_method "QSequentialIterable", /QSequentialIterable::begin/ # (TODO): iterators not supported yet
drop_method "QSequentialIterable", /QSequentialIterable::end/ # (TODO): iterators not supported yet
drop_method "QFont", /QFont::initialize/ # Must not hide Ruby's initialize and is not public
drop_method "QColormap", /QColormap::initialize/ # Must not hide Ruby's initialize and is not public
drop_method "QAccessible", /QAccessible::initialize/ # Must not hide Ruby's initialize and is not public
drop_method "QEasingCurve", /QEasingCurve::setCustomType/ # requires function *
drop_method "QEasingCurve", /QEasingCurve::customType/ # requires function *
drop_method "QLibrary", /QLibrary::resolve/ # requires function *
drop_method "QLoggingCategory", /QLoggingCategory::installFilter/ # requires function *
drop_method "QMetaObject", /QMetaObject::cast\(/ # internal
2017-02-21 20:32:40 +01:00
drop_method "QMetaObject", /QMetaObject::d\(/ # invalid return value (struct)
drop_method "QMetaObject", /QMetaObject::invokeMethod/ # requires QGenericArgument which is a macro
drop_method "QMetaObject", /QMetaObject::metacall/ # requires void**
drop_method "QMetaMethod", /QMetaMethod::invoke/ # requires QGenericArgument which is a macro
drop_method "QMetaMethod", /QMetaMethod::newInstance/ # requires QGenericArgument which is a macro
drop_method "QMetaObject", /QMetaObject::activate/ # requires void**
drop_method "QMetaObject", /QMetaObject::static_metacall/ # requires void**
drop_method "QMetaObject", /QMetaObject::addGuard/ # requires QObject**
drop_method "QMetaObject", /QMetaObject::changeGuard/ # requires QObject**
drop_method "QMetaObject", /QMetaObject::removeGuard/ # requires QObject**
drop_method "QMetaObject", /QMetaObject::newInstance/ # requires QGenericArgument
drop_method "QMetaType", /QMetaType::registerStreamOperators/ # requires callbacks
drop_method "QMetaType", /QMetaType::registerType/ # requires callbacks
drop_method "QMatrix4x4", /QMatrix4x4::QMatrix4x4.*GenericMatrix/ # GenericMatrix is a template
drop_method "QMatrix4x4", /QMatrix4x4::normalMatrix/ # return value GenericMatrix is a template
drop_method "QMatrix4x4", /QMatrix4x4::toGenericMatrix/ # return value GenericMatrix is a template
drop_method "QMimeType", /QMimeType::QMimeType\(const\s+QMimeTypePrivate\s+/ # no access to internal struct
drop_method "QCoreApplication", /QCoreApplication::setEventFilter/ # requires callbacks
drop_method "QCoreApplication", /QCoreApplication::argv/ # requires char **
drop_method "QCoreApplication", /QCoreApplication::argc/ # does not make sense without argv ..
drop_method "QCoreApplication", /QCoreApplication::compressEvent/ # QPostEventList is missing
drop_method "QCoreApplication", /QCoreApplication::watchUnixSignal/ # not available on WIN
keep_arg "QCoreApplication", /::postEvent/, 1 # will take ownership of event
2017-02-21 20:32:40 +01:00
drop_method "", /::operator\s*>>\(QDataStream\s*&/ # implemented through "read" below
drop_method "", /::operator\s*<<\(QDataStream\s*&/ # implemented through "put" below
drop_method "QDataStream", /::operator\s*>>/ # implemented through read
drop_method "QDataStream", /::operator\s*<</ # implemented through put
drop_method "QDataStream", /QDataStream::readBytes\s*\(\s*char\s*\*\s*&/ # requires "char *&"
drop_method "QStringMatcher", /QStringMatcher::QStringMatcher\(const\s+QChar\s+\*/ # requires "QChar *", alternative available
drop_method "QStringMatcher", /QStringMatcher::indexIn\(const\s+QChar\s+\*/ # requires "QChar *", alternative available
drop_method "QObject", /QObject::findChild/ # template member
drop_method "QObject", /QObject::findChildren/ # template member
drop_method "QObject", /QObject::setUserData/ # QObjectUserData not available
drop_method "QObject", /QObject::userData/ # QObjectUserData not available
drop_method "QFile", /QFile::setDecodingFunction/ # uses callbacks
drop_method "QFile", /QFile::setEncodingFunction/ # uses callbacks
drop_method "QFile", /QFile::open.*FILE/ # uses internal struct
2017-02-21 20:32:40 +01:00
drop_method "QFileInfo", /QFileInfo::QFileInfo\(QFileInfoPrivate\s+\*/ # uses internal struct
drop_method "QPrinter", /QPrinter::printerSelectionOption/ # not available on WIN
drop_method "QPrinter", /QPrinter::setPrinterSelectionOption/ # not available on WIN
drop_method "QSessionManager", /QSessionManager::handle/ # not available on WIN
drop_method "QPersistentModelIndex", /QPersistentModelIndex::operator\s+const\s+class\s+QModelIndex/ # implemented specially
drop_method "QSettings", /QSettings::registerFormat/ # uses callbacks
drop_method "QSettings", /QSettings::iniCodec/ # requires QTextCodec
drop_method "QSettings", /QSettings::setIniCodec/ # requires QTextCodec
drop_method "QAbstractFileEngine", /QAbstractFileEngine::supportsExtension/ # missing classes ExtensionOption etc.
drop_method "QAbstractFileEngine", /QAbstractFileEngine::extension/ # missing classes ExtensionOption etc.
drop_method "QUrl", /QUrl::data_ptr/ # QUrlPrivate not available
drop_method "QFile", /QFile::fileEngine\(\)/ # requires AbstractFileEngine
drop_method "QTemporaryFile", /QTemporaryFile::fileEngine\(\)/ # requires AbstractFileEngine
drop_method "QTemporaryFile", /QTemporaryFile::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QTemporaryFile", /QTemporaryFile::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QFile", /QFile::map\(/ # requires char * as address
drop_method "QFile", /QFile::unmap\(/ # requires char * as address
drop_method "QFile", /QFile::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QFile", /QFile::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QFileDevice", /QFileDevice::map\(/ # requires char * as address
drop_method "QFileDevice", /QFileDevice::unmap\(/ # requires char * as address
drop_method "QFileDevice", /QFileDevice::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QFileDevice", /QFileDevice::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QSaveFile", /QSaveFile::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QSaveFile", /QSaveFile::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::getChar\(/ # requires char *, TODO: provide alternative?
drop_method "QIODevice", /QIODevice::peek\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::read\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::readLine\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QIODevice", /QIODevice::write\(const\s+char\s*\*[^,]*\)/ # clashes with QByteArray version (because of handling of binary data containing 0 characters we prefer write(QByteArray))
drop_method "QProcess", /QProcess::readData\(/ # requires char *
drop_method "QProcess", /QProcess::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QDataStream", /QDataStream::readRawData\(char\s*\*/ # requires char *
drop_method "QFile", /QFile::open\(int/ # unsupported file descriptor
drop_method "QFile", /QFile::decodeName\(const\s+QByteArray/ # clashes with const char * version
drop_method "QTemporaryFile", /QTemporaryFile::open\(int/ # unsupported file descriptor
drop_method "QTextStream", /QTextStream::QTextStream\(QByteArray/ # clashes with QString variant
drop_method "QTextStream", /QTextStream::QTextStream\(const\s*QByteArray/ # clashes with QString variant
drop_method "QTextStream", /QTextStream::QTextStream\(.*FILE/ # unsupported FILE
drop_method "QTextStream", /QTextStream::QTextStream\(.*FILE/ # unsupported FILE
2017-02-21 20:32:40 +01:00
drop_method "", /::operator\s*>>\(QTextStream\s*&/ # implemented through read
drop_method "", /::operator\s*<<\(QTextStream\s*&/ # implemented through put
drop_method "QTextStream", /::operator\s*>>/ # implemented through read
drop_method "QTextStream", /::operator\s*<</ # implemented through put
drop_method "QTextStream", /QTextStream::readData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QTextStream", /QTextStream::readLineData\(char\s*\*/ # requires char *, QByteArray alternative available
drop_method "QTextCodec", /QTextCodec::codecForName\(const\s+QByteArray/ # clashes with const char * variant
drop_method "QTextCodec", /QTextCodec::toUnicode\(const\s+QByteArray/ # clashes with const char * variant
drop_method "QTextCodec", /QTextCodec::fromUnicode\(const\s+QChar\s+\*/ # requires real QChar *
drop_method "QTextEncoder", /QTextEncoder::fromUnicode\(const\s+QChar\s+\*/ # requires real QChar *
drop_method "", /::operator\s*==\(const\s+QVariant\s*&\w+,\s*const\s+QVariantComparisonHelper/ # requires QVariantComparisonHelper
drop_method "", /::operator\s*!=\(const\s+QVariant\s*&\w+,\s*const\s+QVariantComparisonHelper/ # requires QVariantComparisonHelper
drop_method "QByteArrayMatcher", /QByteArrayMatcher::indexIn\(const\s+QByteArray/ # clashes with const char * variant
drop_method "QRegion", /QRegion::setRects/ # gets a new implementation
drop_method "QTimer", /static\s+void\s+QTimer::singleShot\(/ # requires slots, alternative impl?
drop_method "QDebug", /QDebug::operator\s*<<\((?!const\s+QString\s*&)/ # don't map the others right now - too many (TODO: how to map?)
drop_method "", /::operator\s*<<\(QDebug\s*\w*\s*,\s*(?!const\s+QString\s*&)/ # don't map the others right now - too many (TODO: how to map?)
drop_method "QNoDebug", /QNoDebug::operator<</ # nothing usable (TODO: how to map?)
include "QCoreApplication", [ "<QCoreApplication>", "<QAbstractEventDispatcher>", "<QAbstractNativeEventFilter>", "<QTranslator>" ]
include "QThread", [ "<QThread>", "<QAbstractEventDispatcher>" ]
rename "QLocale", /QLocale::toString\(int i/, "toString_i"
rename "QLocale", /QLocale::toString\(unsigned int/, "toString_ui"
rename "QLocale", /QLocale::toString\(short i/, "toString_s"
rename "QLocale", /QLocale::toString\(unsigned short/, "toString_us"
rename "QLocale", /QLocale::toString\(qlonglong/, "toString_ll"
rename "QLocale", /QLocale::toString\(qulonglong/, "toString_ull"
rename "QLocale", /QLocale::toString\(float/, "toString_f"
rename "QLocale", /QLocale::toString\(double/, "toString_d"
rename "QResource", /QResource::registerResource\(const\s+unsigned\s+char\s+\*/, "registerResource_data"
rename "QResource", /QResource::registerResource\(const QString/, "registerResource_file"
rename "QResource", /QResource::unregisterResource\(const\s+unsigned\s+char\s+\*/, "unregisterResource_data"
rename "QResource", /QResource::unregisterResource\(const QString/, "unregisterResource_file"
rename "QProcess", /QProcess::error\(QProcess::ProcessError/, "error_sig" # disambiguator
rename "QProcess", /QProcess::finished\(int[\s\w]*\)/, "finished_int" # disambiguator finished(int) vs. finished(int, QProcess::ExitStatus)
# alternative implementation for QCoreApplication::QCoreApplication
drop_method "QCoreApplication", /QCoreApplication::QCoreApplication/
add_native_qapp_ctor_impl("QCoreApplication")
#730: providing a new Qt module named QtUiTools for QUiLoader class s… (#735) * #730: providing a new Qt module named QtUiTools for QUiLoader class support. * Fixed a compile error on Mac * Added QtUiTools to some more places * Fixed a linker issue in the QtUiTools Python lib * On occasion fixed a infinite recursion problem in the debugger The recursion happened because by mistake I instantiated a QApplication inside an in-application Python script. This crashed the debugger due to infinite recursion. This is not a real use case but to prevent similar issues, a recursion sentinel was added. * Removed QCoreApplication#notify from script bindings Reasoning: "notify" made standalone scripts using QApplication and QUiLoader virtually impossible. Problem description: - When a QApplication object is instantiated, e.g. in Python, the Qt binding will install reimplementation hooks as the object may be dynamically extended. - A notify is virtual this means the *every* "notify" call in the application is routed through the interpreter. - For one thing this will slow down the application - But as "notify" is called a zillion times this has more than this side effect. - Specifically "notify" is called from within the QWidget constructor to indicate a new widget. Then, if a QDialog for example is instatiated, it's base class constructor will call "notify" when the object isn't ready yet. - This has another severe side effect: as the object isn't ready yet, it gets registered in the Python space with the wrong class and QDialog is not visible as such. To mitigate these problems, the most efficient solution is to disable "notify" in general. There is hardly any use case in a script environment (in C++, apart from hacking the only reasonable use case is exception handling, but this does not apply to scripts). For providing the call functionality of "notify" you should better use "postEvent" or "sendEvent" anyway. So farewell QCoreApplication.notify ... * Fixed python test for QtUiTools module * Fixed UiTools test on Qt4 - QUiLoader needs an application object Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
# Reasoning: "notify" is hardly needed (use postEvent or sendEvent instead). Reimplementing remains as a use case.
# Reimplementing this method however is questionable: providing an reimplementation hook has severe consequences as even
# Qt object constructors will route over this slot and invoke interpreter calls. This will for example lead to preliminary
# binding of Qt objects to Python objects, hence spoil their object identity.
drop_method "QCoreApplication", /QCoreApplication::notify/
drop_method "QApplication", /QApplication::notify/
drop_method "QGuiApplication", /QGuiApplication::notify/
# alternative implementation for QObject::findChild
add_native_impl_QObject_findChild
2017-02-21 20:32:40 +01:00
# alternative implementation for QFont::Light, QFont::Bold, QFont::Normal, QFont::DemiBold, QFont::Black
add_native_impl_QFont
2017-02-21 20:32:40 +01:00
# alternative implementation for QRegion::setRects
add_native_impl_QRegion
2017-02-21 20:32:40 +01:00
# alternative implementation for QPersistentQModelIndex::operator const QModelIndex &
add_native_impl_QPersistentQModelIndex
2017-02-21 20:32:40 +01:00
# satisfy abstract methods for WIN32
add_native_impl("QAbstractEventDispatcher_Adaptor", <<'CODE', nil)
#if defined(_WIN32)
virtual bool registerEventNotifier(QWinEventNotifier *) { return false; }
virtual void unregisterEventNotifier(QWinEventNotifier *) { }
#endif
CODE
# implementation of operator<< and operator>> for QDataStream
add_native_impl_streams
2017-02-21 20:32:40 +01:00
final_class "QIODevice" # because readData cannot be reimplemented
final_class "QBuffer" # because readData cannot be reimplemented
final_class "QFile" # because readData cannot be reimplemented
final_class "QTemporaryFile" # because readData cannot be reimplemented
final_class "QProcess" # because readData cannot be reimplemented
drop_method "QPolygon", /QPolygon::putPoints\(.*const\s+int\s+\*/ # requires const int *
drop_method "QPolygon", /QPolygon::setPoints\(.*const\s+int\s+\*/ # requires const int *
drop_method "QPolygon", /QPolygon::QPolygon\(.*const\s+int\s+\*/ # requires const int *
no_imports "QPolygon" # base class is a template. Base methods are implemented specifically.
no_imports "QPolygonF" # base class is a template. Base methods are implemented specifically.
# enhance QPolygon by some missing methods because we dropped the base class and
# support for db methods
add_native_impl_polygons
2017-02-21 20:32:40 +01:00
no_copy_ctor "QBasicMutex"
no_copy_ctor "QMapDataBase"
drop_method "QMessageLogger", /QMessageLogger::critical.*\.\.\./ # does not support ...
drop_method "QMessageLogger", /QMessageLogger::debug.*\.\.\./ # does not support ...
drop_method "QMessageLogger", /QMessageLogger::fatal.*\.\.\./ # does not support ...
drop_method "QMessageLogger", /QMessageLogger::info.*\.\.\./ # does not support ...
drop_method "QMessageLogger", /QMessageLogger::noDebug.*\.\.\./ # does not support ...
drop_method "QMessageLogger", /QMessageLogger::warning.*\.\.\./ # does not support ...
add_native_impl("QMessageLogger", <<'CODE', <<'DECL')
static void critical1(QMessageLogger *logger, const char *msg) {
logger->critical("%s", msg);
}
static void critical2(QMessageLogger *logger, const QLoggingCategory &cat, const char *msg) {
logger->critical(cat, "%s", msg);
}
static void debug1(QMessageLogger *logger, const char *msg) {
logger->debug("%s", msg);
}
static void debug2(QMessageLogger *logger, const QLoggingCategory &cat, const char *msg) {
logger->debug(cat, "%s", msg);
}
static void fatal1(QMessageLogger *logger, const char *msg) {
logger->fatal("%s", msg);
}
static void info1(QMessageLogger *logger, const char *msg) {
logger->info("%s", msg);
}
static void info2(QMessageLogger *logger, const QLoggingCategory &cat, const char *msg) {
logger->info(cat, "%s", msg);
}
static void noDebug1(QMessageLogger *logger, const char *msg) {
logger->noDebug("%s", msg);
}
static void warning1(QMessageLogger *logger, const char *msg) {
logger->warning("%s", msg);
}
static void warning2(QMessageLogger *logger, const QLoggingCategory &cat, const char *msg) {
logger->warning(cat, "%s", msg);
}
CODE
gsi::method_ext("critical", &critical1, "@brief Method void QMessageLogger::critical(const char *msg)") +
gsi::method_ext("critical", &critical2, "@brief Method void QMessageLogger::critical(const QLoggingCategory &cat, const char *msg)") +
gsi::method_ext("debug", &debug1, "@brief Method void QMessageLogger::debug(const char *msg)") +
gsi::method_ext("debug", &debug2, "@brief Method void QMessageLogger::debug(const QLoggingCategory &cat, const char *msg)") +
gsi::method_ext("fatal", &fatal1, "@brief Method void QMessageLogger::fatal(const char *msg)") +
gsi::method_ext("info", &info1, "@brief Method void QMessageLogger::info(const char *msg)") +
gsi::method_ext("info", &info2, "@brief Method void QMessageLogger::info(const QLoggingCategory &cat, const char *msg)") +
gsi::method_ext("noDebug", &noDebug1, "@brief Method void QMessageLogger::noDebug(const char *msg)") +
gsi::method_ext("warning", &warning1, "@brief Method void QMessageLogger::warning(const char *msg)") +
gsi::method_ext("warning", &warning2, "@brief Method void QMessageLogger::warning(const QLoggingCategory &cat, const char *msg)")
DECL
2017-02-21 20:32:40 +01:00
# --------------------------------------------------------------
# QtGui
drop_class "QAccessible2"
drop_class "QAccessibleApplication"
drop_class "QAccessibleBridgePlugin"
drop_class "QAccessibleBridge" # QAccessibleBridge not supported on Windows:
drop_class "QAccessibleInterfaceEx"
drop_class "QAccessibleObjectEx"
drop_class "QAccessiblePlugin" # difficult because of strange inheritance (through a intermediate struct) and probably never needed:
drop_class "QAccessibleWidgetEx"
drop_class "QBrushData"
drop_class "QCopChannel"
drop_class "QCustomRasterPaintDevice"
drop_class "QDecoration"
drop_class "QDecorationDefault"
drop_class "QDecorationFactory"
drop_class "QDecorationPlugin"
drop_class "QDirectPainter"
drop_class "QDrawBorderPixmap"
drop_class "QDrawPixmaps"
drop_class "QFontEngineInfo"
drop_class "QFontEnginePlugin"
drop_class "QGenericMatrix"
drop_class "QGtkStyle" # not available on WIN
drop_class "QIconEngineFactoryInterface"
drop_class "QIconEngineFactoryInterfaceV2"
drop_class "QIconEngineV2", /AvailableSizesArgument/
drop_class "QImageIOHandlerFactoryInterface"
drop_class "QInputContextFactoryInterface"
drop_class "QItemEditorCreator" # is a template
drop_class "QKbdDriverFactory"
drop_class "QKbdDriverPlugin"
drop_class "QKeyEventTransition"
drop_class "QMacCocoaViewContainer"
drop_class "QMacNativeWidget"
drop_class "QMacPasteboardMime"
drop_class "QMacStyle"
drop_class "QMdi"
drop_class "QMouseDriverFactory"
drop_class "QMouseDriverPlugin"
drop_class "QMouseEventTransition"
drop_class "QPainterPathPrivate"
drop_class "QPictureIO"
drop_class "QPixmapCache", /Key/
drop_class "QProxyScreen"
drop_class "QProxyScreenCursor"
drop_class "QProxyStyle"
drop_class "QRasterPaintEngine"
drop_class "QScreenCursor"
drop_class "QScreenDriverFactory"
drop_class "QScreenDriverPlugin"
#drop_class "QSessionManager" # Not available always:
drop_class "QStandardItemEditorCreator" # is a template
drop_class "QStyleFactoryInterface"
drop_class "QStyleOptionDockWidgetV2"
drop_class "QStyleOptionTabWidgetFrameV2"
drop_class "QSymbianEvent"
drop_class "QTextFrameLayoutData"
drop_class "QTileRules"
drop_class "QWidgetData"
drop_class "QWidgetItemV2"
drop_class "QWindowsVistaStyle" # not available on Unix?
drop_class "QWindowsXPStyle" # not available on Unix?
drop_class "QWSCalibratedMouseHandler"
drop_class "QWSClient"
drop_class "QWSEmbedWidget"
drop_class "QWSEvent"
drop_class "QWSInputMethod"
drop_class "QWSKeyboardHandler"
drop_class "QWSMouseHandler"
drop_class "QWSPointerCalibrationData"
drop_class "QWSScreenSaver"
drop_class "QWSServer"
drop_class "QWSWindow"
drop_class "QAbstractOpenGLFunctions" # OpenGL native types not supported
drop_class "QAbstractOpenGLFunctionsPrivate" # OpenGL native types not supported
drop_class "QOpenGLBuffer" # OpenGL native types not supported
drop_class "QOpenGLContext" # OpenGL native types not supported
drop_class "QOpenGLContextGroup" # OpenGL native types not supported
drop_class "QOpenGLDebugLogger" # OpenGL native types not supported
drop_class "QOpenGLDebugMessage" # OpenGL native types not supported
drop_class "QOpenGLFramebufferObject" # OpenGL native types not supported
drop_class "QOpenGLFramebufferObjectFormat" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_0" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_0_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_0_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_1" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_1_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_1_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_2" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_2_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_2_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_3" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_3_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_3_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_4" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_4_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_4_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_5" # OpenGL native types not supported
drop_class "QOpenGLFunctions_1_5_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_2_0" # OpenGL native types not supported
drop_class "QOpenGLFunctions_2_0_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_2_0_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_2_1" # OpenGL native types not supported
drop_class "QOpenGLFunctions_2_1_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_0" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_0_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_0_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_1" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_1_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_2_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_2_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_2_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_3_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_3_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_3_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_3_3_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_0_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_0_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_0_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_1_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_1_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_1_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_2_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_2_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_2_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_3_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_3_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_3_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_4_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_4_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_4_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_5_Compatibility" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_5_CoreBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_5_Core" # OpenGL native types not supported
drop_class "QOpenGLFunctions_4_5_DeprecatedBackend" # OpenGL native types not supported
drop_class "QOpenGLFunctions" # OpenGL native types not supported
drop_class "QOpenGLFunctionsPrivate" # OpenGL native types not supported
drop_class "QOpenGLPaintDevice" # OpenGL native types not supported
drop_class "QOpenGLPixelTransferOptions" # OpenGL native types not supported
drop_class "QOpenGLShader" # OpenGL native types not supported
drop_class "QOpenGLShaderProgram" # OpenGL native types not supported
drop_class "QOpenGLTexture" # OpenGL native types not supported
drop_class "QOpenGLTimeMonitor" # OpenGL native types not supported
drop_class "QOpenGLTimerQuery" # OpenGL native types not supported
drop_class "QOpenGLVersionFunctionsBackend" # OpenGL native types not supported
drop_class "QOpenGLVersionProfile" # OpenGL native types not supported
drop_class "QOpenGLVersionStatus" # OpenGL native types not supported
drop_class "QOpenGLVertexArrayObject_Binder" # OpenGL native types not supported
drop_class "QOpenGLVertexArrayObject" # OpenGL native types not supported
drop_class "QOpenGLWidget" # OpenGL native types not supported
drop_class "QOpenGLWindow" # OpenGL native types not supported
# depedencies from operators are not derived automatically currently:
include "QPoint", [ "<QPoint>", "<QMatrix>", "<QMatrix4x4>" ]
include "QPointF", [ "<QPointF>", "<QMatrix>", "<QMatrix4x4>" ]
include "QVector3D", [ "<QVector3D>", "<QVector2D>", "<QMatrix4x4>" ]
include "QVector4D", [ "<QVector4D>", "<QVector2D>", "<QMatrix4x4>" ]
include "QAction", [ "<QAction>", "<QGraphicsWidget>", "<QMenu>" ]
include "QCursor", [ "<QCursor>", "<QScreen>", "<QBitmap>" ]
include "QGraphicsItem", [ "<QGraphicsItem>", "<QGraphicsTransform>", "<QGraphicsScene>", "<QStyleOptionGraphicsItem>", "<QGraphicsEffect>", "<QGraphicsWidget>", "<QGraphicsSceneContextMenuEvent>", "<QGraphicsSceneDragDropEvent>", "<QGraphicsSceneHoverEvent>", "<QGraphicsSceneMouseEvent>", "<QGraphicsSceneWheelEvent>", "<QPainter>" ]
2017-02-21 20:32:40 +01:00
include "QGraphicsScene", [ "<QGraphicsScene>", "<QGraphicsView>", "<QGraphicsItem>", "<QGraphicsWidget>", "<QGraphicsEllipseItem>", "<QGraphicsLineItem>", "<QGraphicsPathItem>", "<QGraphicsPixmapItem>", "<QGraphicsPolygonItem>", "<QGraphicsRectItem>", "<QGraphicsSimpleTextItem>", "<QGraphicsTextItem>", "<QGraphicsProxyWidget>", "<QGraphicsItemGroup>", "<QStyle>", "<QGraphicsSceneContextMenuEvent>", "<QGraphicsSceneDragDropEvent>", "<QGraphicsSceneHelpEvent>", "<QGraphicsSceneMouseEvent>", "<QGraphicsSceneWheelEvent>" ]
include "QGuiApplication", [ "<QGuiApplication>", "<QScreen>", "<QSessionManager>", "<QClipboard>", "<QWindow>", "<QStyleHints>", "<QFont>", "<QPalette>" ]
2017-02-21 20:32:40 +01:00
include "QApplication", [ "<QApplication>", "<QSessionManager>", "<QDesktopWidget>", "<QStyle>", "<QWindow>", "<QScreen>" ]
include "QWindow", [ "<QWindow>", "<QScreen>", "<QAccessibleInterface>" ]
2017-02-21 20:32:40 +01:00
include "QOffscreenSurface", [ "<QOffscreenSurface>", "<QScreen>" ]
include "QScreenOrientationChangeEvent", [ "<QScreenOrientationChangeEvent>", "<QScreen>" ]
drop_method "QWindow", /QWindow::handle/ # QPlatformWindow not available
drop_method "QScreen", /QScreen::handle/ # QPlatformScreen not available
drop_method "QSurface", /QSurface::surfaceHandle/ # QPlatformSurface not available
drop_method "QOffscreenSurface", /QOffscreenSurface::handle/ # QPlatformOffscreenSurface not available
drop_method "QGuiApplication", /QGuiApplication::compressEvent.*QPostEventList/ # QPostEventList not available
drop_method "QGuiApplication", /QGuiApplication::platformNativeInterface/ # QPlatformNativeInterface not available
drop_method "QGuiApplication", /QGuiApplication::platformFunction/ # (TODO) no function pointers available
drop_method "QPagedPaintDevice", /QPagedPaintDevice::dd/ # QPagedPaintDevicePrivate not available
drop_method "QPixmap", /QPixmap::QPixmap\(QPlatformPixmap/ # QPlatformPixmap not available
drop_method "QAbstractPageSetupDialog", /QAbstractPageSetupDialog::QAbstractPageSetupDialog\(QAbstractPageSetupDialogPrivate/
drop_method "QImage", /QImage::QImage\(.*cleanupFunction/ # (TODO) no function pointers available
drop_method "QClipboardEvent", /QClipboardEvent::data/
drop_method "QClipboardEvent", /QClipboardEvent::QClipboardEvent\(QEventPrivate/
drop_method "QCursor", /QCursor::QCursor\s*\(\s*Qt::HANDLE/ # not available on WIN
drop_method "QApplication", /QApplication::compressEvent/ # QPostEventList is missing
drop_method "QWidget", /QWidget::painters/ # whatever that is, it's not a method ..
drop_method "QWidget", /QWidget::handle/ # not available on WIN
drop_method "QPixmap", /QPixmap::handle/ # not available on WIN
drop_method "QPixmap", /QPixmap::fromX11Pixmap/ # not available on WIN
drop_method "QTabletEvent", /QTabletEvent::QTabletEvent/ # TODO: too many arguments
drop_method "QGraphicsProxyWidget", /QGraphicsProxyWidget::setGeometry\(double/ # not available as override (private or protected inheritance?)
drop_method "QPixmap", /QPixmap::QPixmap\(const\s+char\s+\*\s*const\s*\w*\s*\[\s*\]/ # no const char *[] - TODO: provide differen implementation?
drop_method "QImage", /QImage::QImage\(const\s+char\s+\*\s*const\s*xpm\s*\[\s*\]/ # no const char *[] - TODO: provide differen implementation?
drop_method "QImage", /QImage::QImage\(const\s+char\s+\*\s*fileName/ # not available for QT_NO_CAST_TO_ASCII
drop_method "QAccessibleInterface", /QAccessibleInterface::imageInterface/ # Interface is not officially available
drop_method "QAccessibleInterface", /QAccessibleInterface::actionInterface/ # Interface is not officially available
drop_method "QAccessible", /QAccessible::installFactory/ # requires function ptr
drop_method "QAccessible", /QAccessible::removeFactory/ # requires function ptr
drop_method "QAccessible", /QAccessible::installRootObjectHandler/ # requires function ptr
drop_method "QAccessible", /QAccessible::installUpdateHandler/ # requires function ptr
drop_method "QPixmapCache", /QPixmapCache::find\s*\(\s*const\s+QPixmapCache::Key/ # requires Key subclass
drop_method "QPixmapCache", /QPixmapCache::insert\s*\(\s*const\s+QPixmap\s+\&pixmap\s*\)/ # requires Key subclass
drop_method "QPixmapCache", /QPixmapCache::remove\s*\(\s*const\s+QPixmapCache::Key/ # requires Key subclass
drop_method "QPixmapCache", /QPixmapCache::replace\s*\(\s*const\s+QPixmapCache::Key/ # requires Key subclass
drop_method "QGraphicsItem", /QGraphicsItem::isBlockedByModalPanel/ # requires QGraphicsItem **
drop_method "QGraphicsEffect", /QGraphicsEffect::source\s*\(\s*\)/ # requires QGraphicsEffectSource, not an official method
drop_method "QGraphicsScene", /QGraphicsScene::drawItems/ # requires QGraphicsItem *[], TODO: provide an alternative!
drop_method "QGraphicsView", /QGraphicsView::drawItems/ # requires QGraphicsItem *[], TODO: provide an alternative!
# drop_method "QGtkStyle", /QGtkStyle::QGtkStyle\s*\(\s*QGtkStylePrivate/ # requires QGtkStylePrivate
drop_method "QTextList", /QTextList::setFormat\(const\s+QTextFormat\s+/ # got mixed in somehow(?). Not part of API
drop_method "QTextTable", /QTextTable::setFormat\(const\s+QTextFormat\s+/ # got mixed in somehow(?). Not part of API
drop_method "QTextTableCell", /QTextTableCell::begin/ # requires template type return value (TODO: provide alternative?)
drop_method "QTextTableCell", /QTextTableCell::end/ # requires template type return value
drop_method "QRegion", /QRegion::handle/ # requires XRegion
drop_method "QFont", /QFont::freetypeFace/ # required FT_FACE struct
def_alias "QFont", /toString\(/, "to_s"
drop_method "QPixmap", /QPixmap::QPixmap\(QPixmapData/ # QPixmapData not available
drop_method "QPixmap", /QPixmap::pixmapData/ # QPixmapData not available
drop_method "QImage", /^\s*unsigned\s+char\s+\*\s*QImage::bits/ # TODO: requires non-const char *
drop_method "QImage", /^\s*unsigned\s+char\s+\*\s*QImage::scanLine/ # TODO: requires non-const char *
drop_method "QImage", /QImage::QImage\(unsigned\s+char\s+\*data/ # TODO: requires non-const char *
drop_method "QImage", /QImage::text\(const\s+QString/ # clashes with const char *version
drop_method "QTextDocument", /QTextDocument::appendUndoItem/ # requires QAbstractUndoItem which is not available
drop_method "QAccessibleInterface", /QAccessibleInterface::editableTextInterface/ # requires QAccessibleEditableTextInterface which is not available
drop_method "QAccessibleInterface", /QAccessibleInterface::tableInterface/ # requires QAccessibleTableInterface which is not available
drop_method "QAccessibleInterface", /QAccessibleInterface::textInterface/ # requires QAccessibleTextInterface which is not available
drop_method "QAccessibleInterface", /QAccessibleInterface::valueInterface/ # requires QAccessibleValueInterface which is not available
drop_method "QAccessibleObject", /QAccessibleObject::navigate/ # requires QAccessibleInterface **
drop_method "QAccessibleWidget", /QAccessibleWidget::navigate/ # requires QAccessibleInterface **
drop_method "QAccessibleInterface", /QAccessibleInterface::navigate/ # requires QAccessibleInterface **
drop_method "QAccessibleApplication", /QAccessibleApplication::navigate/ # requires QAccessibleInterface **
drop_method "QTextCursor", /QTextCursor::QTextCursor\(QTextCursorPrivate/ # Private data not available
drop_method "QTextCursor", /QTextCursor::QTextCursor\(QTextCursorPrivate/ # Private data not available
drop_method "QTextBlock", /QTextBlock::QTextBlock\(QTextDocumentPrivate/ # Private data not available
drop_method "QTextBlock", /QTextBlock::docHandle/ # Private data not available
drop_method "QTextCursor", /QTextCursor::QTextCursor\(QTextDocumentPrivate/ # Private data not available
drop_method "QTextDocument", /QTextDocument::docHandle/ # Private data not available
drop_method "QTextObject", /QTextObject::docHandle/ # Private data not available
drop_method "QTextFragment", /QTextFragment::QTextFragment\(const\s+QTextDocumentPrivate/ # Private data not available
drop_method "QTextInlineObject", /QTextInlineObject::QTextInlineObject\(int.*QTextEngine/ # QTextEngine not available
drop_method "QTextLayout", /QTextLayout::engine/ # QTextEngine not available
drop_method "QTextFrame", /QTextFrame::layoutData/ # QTextFrameLayoutData not available
drop_method "QTextFrame", /QTextFrame::begin/ # iterator not available
drop_method "QTextFrame", /QTextFrame::end/ # iterator not available
drop_method "QTextFrame", /QTextFrame::setLayoutData/ # QTextFrameLayoutData not available
drop_method "QWidget", /QWidget::windowSurface/ # QWindowSurface not available
drop_method "QWidget", /QWidget::setWindowSurface/ # QWindowSurface not available
drop_method "QFont", /QFont::resolve\s*\(\s*unsigned\s+int/ # internal? Messes up the generation (non-const?)
drop_method "QFont", /QFont::resolve\s*\(\s*\)/ # internal? Messes up the generation (non-const?)
drop_method "QPalette", /QPalette::resolve\s*\(\s*unsigned\s+int/ # internal? Messes up the generation (non-const?)
drop_method "QPalette", /QPalette::resolve\s*\(\s*\)/ # internal? Messes up the generation (non-const?)
drop_method "QMessageBox", /QMessageBox::warning.*int\s+\w+\s*,\s*int\s+\w+\s*\)/ # obsolete
drop_method "QMessageBox", /QMessageBox::question.*int\s+\w+\s*,\s*int\s+\w+\s*\)/ # obsolete
drop_method "QMessageBox", /QMessageBox::information.*int\s+\w+\s*,\s*int\s+\w+\s*\)/ # obsolete
drop_method "QMessageBox", /QMessageBox::critical.*int\s+\w+\s*,\s*int\s+\w+\s*\)/ # obsolete
drop_method "QMessageBox", /QMessageBox::standardIcon/ # obsolete
drop_method "QMessageBox", /QMessageBox::warning.*QMessageBox::StandardButton\s+\w+,\s*QMessageBox::StandardButton\s+\w+\s*\)/ # clashes with enum version
drop_method "QMessageBox", /QMessageBox::question.*QMessageBox::StandardButton\s+\w+,\s*QMessageBox::StandardButton\s+\w+\s*\)/ # clashes with enum version
drop_method "QMessageBox", /QMessageBox::critical.*QMessageBox::StandardButton\s+\w+,\s*QMessageBox::StandardButton\s+\w+\s*\)/ # clashes with enum version
drop_method "QMessageBox", /QMessageBox::information.*QMessageBox::StandardButton\s+\w+,\s*QMessageBox::StandardButton\s+\w+\s*\)/ # clashes with enum version
drop_method "QMenu", /QMenu::platformMenu/ # QPlatformMenu not available
drop_method "QMenu", /QMenu::setPlatformMenu/ # QPlatformMenu not available
drop_method "QMenuBar", /QMenuBar::platformMenuBar/ # QPlatformMenu not available
drop_method "QTreeWidgetItem", /::QTreeWidgetItem\(const\s+QTreeWidgetItem\s*&/ # will hide the parent-constructor otherwise. Use dup/copy protocol instead.
rename "QRawFont", /QRawFont::supportsCharacter\(.*ucs4/, "supportsCharacter_ucs4"
drop_method "QTextLine", /QTextLine::cursorToX\(.*int\s*\*/ # clashes with int-only version
2017-02-21 20:32:40 +01:00
drop_method "QPainter", /QPainter::drawRects.*QRect\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawRects.*QRectF\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawConvexPolygon.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawConvexPolygon.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPoints.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPoints.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPolygon.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPolygon.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPolyline.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPainter", /QPainter::drawPolyline.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawRects.*QRect\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawRects.*QRectF\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawLines.*QLine\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawLines.*QLineF\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawPoints.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawPoints.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawPolygon.*QPoint\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::drawPolygon.*QPointF\s+\*/ # requires pointers, alternative available
drop_method "QPaintEngine", /QPaintEngine::fix_neg_rect/ # ??
rename "QPainter", /QPainter::drawRects.*QVector<QRect>/, "drawRects_i"
rename "QPainter", /QPainter::drawRects.*QVector<QRectF>/, "drawRects_f"
drop_method "QPainter", /QPainter::drawLines.*QLine\s+\*/
drop_method "QPainter", /QPainter::drawLines.*QLineF\s+\*/
drop_method "QPainter", /QPainter::drawLines.*QPoint\s+\*/
drop_method "QPainter", /QPainter::drawLines.*QPointF\s+\*/
rename "QPainter", /QPainter::drawLines.*QVector<QPoint>/, "drawLines_ip"
rename "QPainter", /QPainter::drawLines.*QVector<QPointF>/, "drawLines_fp"
rename "QPainter", /QPainter::drawLines.*QVector<QLine>/, "drawLines_i"
rename "QPainter", /QPainter::drawLines.*QVector<QLineF>/, "drawLines_f"
drop_method "QColor", /QColor::QColor\(const\s+QString/ # clashes with const char * version
drop_method "QColor", /QColor::allowX11ColorNames/ # not available in WIN
drop_method "QColor", /QColor::setAllowX11ColorNames/ # not available in WIN
drop_method "Qimage", /Qimage::text\(const\s+QString/ # clashes with const char * version
rename "QDialogButtonBox", /QDialogButtonBox::QDialogButtonBox\(QFlags/, "new_buttons"
rename "QIcon", /QIcon::pixmap\(int\s+extent/, "pixmap_ext"
rename "QKeySequence", /QKeySequence::QKeySequence\(QKeySequence::StandardKey/, "new_std"
keep_arg "QBoxLayout", /::addLayout/, 0 # will take ownership of layout
keep_arg "QGridLayout", /::addLayout/, 0 # will take ownership of layout
keep_arg "QWidget", /::setLayout\s*\(/, 0 # will take ownership of layout
2017-02-21 20:32:40 +01:00
keep_arg "QLayout", /::addChildLayout/, 0 # will take ownership of layout
keep_arg "QLayout", /::addItem/, 0 # will take ownership of item
keep_arg "QTreeWidgetItem", /::addChild\(/, 0 # will take ownership of the child
keep_arg "QTreeWidgetItem", /::addChildren\(/, 0 # will take ownership of the children
keep_arg "QTreeWidgetItem", /::insertChild\(/, 1 # will take ownership of the child
keep_arg "QTreeWidgetItem", /::insertChildren\(/, 1 # will take ownership of the children
keep_arg "QGraphicsScene", /::addItem\(/, 0 # will take ownership of the children
keep_arg "QListWidget", /::addItem\(QListWidgetItem/, 0 # will take ownership of the child
keep_arg "QListWidget", /::insertItem\(int.*QListWidgetItem/, 1 # will take ownership of the child
keep_arg "QTreeWidget", /::addTopLevelItem\(/, 0 # will take ownership of the child
keep_arg "QTreeWidget", /::addTopLevelItems\(/, 0 # will take ownership of the child
keep_arg "QTreeWidget", /::insertTopLevelItem\(/, 1 # will take ownership of the child
keep_arg "QTreeWidget", /::insertTopLevelItems\(/, 1 # will take ownership of the child
keep_arg "QTableWidget", /::setItem\(/, 2 # will take ownership of the child
keep_arg "QGraphicsItemGroup", /::addToGroup\(/, 0 # will take ownership of the child
keep_arg "QGraphicsScene", /::addItem\(/, 0 # will take ownership of the item
# constructors with "owner" arguments:
# (NOTE: QObject and QGraphicsItem is handled per specific base-class implementation)
owner_arg "QTreeWidgetItem", /::QTreeWidgetItem\(QTreeWidgetItem\s+\*/, 0 # will construct a new object owned by arg #0
owner_arg "QTreeWidgetItem", /::QTreeWidgetItem\(QTreeWidget\s+\*/, 0 # will construct a new object owned by arg #0
owner_arg "QListWidgetItem", /::QListWidgetItem\(QListWidget\s+\*/, 0 # will construct a new object owned by arg #0
owner_arg "QObject", /::setParent\(QObject\s+\*/, 0 # will make self owned by arg #0
owner_arg "QWidget", /::setParent\(QWidget\s+\*/, 0 # will make self owned by arg #0
2017-02-21 20:32:40 +01:00
# this would make sense, but the pointer is const: so how can setItemPrototype take
# over ownership of it?
# keep_arg "QTableWidget", /::setItemPrototype\(/, 0 # will take ownership of the child
return_new "QLayout", /::takeAt/ # returns a free object
return_new "QBoxLayout", /::takeAt/ # returns a free object
return_new "QFormLayout", /::takeAt/ # returns a free object
return_new "QGridLayout", /::takeAt/ # returns a free object
return_new "QStackedLayout", /::takeAt/ # returns a free object
return_new "QStandardItem", /::take/ # returns a free object
return_new "QStandardItemModel", /::take/ # returns a free object
return_new "QTreeWidgetItem", /::take/ # returns a free object
return_new "QTableWidget", /::take/ # returns a free object
return_new "QTreeWidget", /::take/ # returns a free object
return_new "QListWidget", /::take/ # returns a free object
return_new "QScrollArea", /::takeWidget\(/ # returns a free object
rename "QPrintDialog", /QPrintDialog::accepted\(QPrinter/, "accepted_sig"
rename "QButtonGroup", /QButtonGroup::buttonToggled\(QAbstrac/, "buttonToggled_object" # disambiguator
rename "QButtonGroup", /QButtonGroup::buttonToggled\(int/, "buttonToggled_int" # disambiguator
# special implementations:
drop_method "QApplication", /QApplication::QApplication/ # does not work because of char** and isn't because of singleton
add_native_qapp_ctor_impl("QApplication")
2017-02-21 20:32:40 +01:00
drop_method "QGuiApplication", /QGuiApplication::QGuiApplication/ # does not work because of char** and isn't because of singleton
add_native_qapp_ctor_impl("QGuiApplication")
2017-02-21 20:32:40 +01:00
no_imports "QItemSelection" # base class is a template. TODO: provide a solution (i.e. additional manual declarations)
no_imports "QPageSetupDialog" # base class is a QAbstractPageSetupDialog which is not readily available
# QAccessibleBridge not supported on Windows
# no_imports "QAccessibleBridgePlugin","QAccessibleBridgeFactoryInterface" # base class is a QAbstractPageSetupDialog which is not readily available
# no_imports "QAccessiblePlugin","QAccessibleFactoryInterface" # base class is a QAbstractPageSetupDialog which is not readily available
no_imports "QIconEnginePlugin","QIconEngineFactoryInterface" # base class is not readily available
no_imports "QIconEnginePluginV2","QIconEngineFactoryInterfaceV2" # base class is not readily available
no_imports "QImageIOPlugin","QImageIOHandlerFactoryInterface" # base class is not readily available
no_imports "QInputContextPlugin","QInputContextFactoryInterface" # base class is not readily available
no_imports "QStylePlugin","QStyleFactoryInterface" # base class is not readily available
final_class "QAccessible" # because navigate cannot be implemented
# QAccessibleBridge not supported on Windows
# final_class "QAccessibleBridge" # because navigate cannot be implemented
# final_class "QAccessibleBridgePlugin" # because navigate cannot be implemented
final_class "QAccessibleEvent" # because navigate cannot be implemented
final_class "QAccessibleInterface" # because navigate cannot be implemented
final_class "QAccessibleObject" # because navigate cannot be implemented
# Strange inheritance (through a intermediate struct) and probably never needed:
# final_class "QAccessiblePlugin" # because navigate cannot be implemented
final_class "QAccessibleWidget" # because navigate cannot be implemented
2017-11-26 22:51:36 +01:00
no_copy_ctor "QIconEngine"
2017-02-21 20:32:40 +01:00
# --------------------------------------------------------------
# QtXml
include "QXmlFormatter", [ "<QXmlFormatter>", "<QXmlQuery>" ]
include "QXmlSerializer", [ "<QXmlSerializer>", "<QXmlQuery>", "<QTextCodec>" ]
2017-02-21 20:32:40 +01:00
no_imports "QXmlStreamAttributes" # base class is a template.
drop_method "QXmlReader", /QXmlReader::parse\(.*QXmlInputSource\s*&/ # Clashes with pointer version
drop_method "QXmlStreamReader", /QXmlStreamReader::QXmlStreamReader\(.*const\s+char\s*\*/ # Clashes with QString version
drop_method "QXmlStreamReader", /QXmlStreamReader::addData\(.*const\s+char\s*\*/ # Clashes with QString version
drop_method "QXmlStreamStringRef", /QXmlStreamStringRef::QXmlStreamStringRef\(.*const\s+char\s*\*/ # Clashes with QString version
2017-02-21 20:32:40 +01:00
drop_method "QXmlStreamAttributes", /QXmlStreamAttributes::append\(const\s+QVector/ # QVector is a template
drop_method "QXmlStreamAttributes", /QXmlStreamAttributes::hasAttribute\(\s*QLatin1String/ # QLatin1String is not available
drop_method "QXmlStreamAttributes", /QXmlStreamAttributes::value\(.*QLatin1String/ # QLatin1String is not available
drop_method "QXmlSimpleReader", /QXmlSimpleReader::parse\(.*QXmlInputSource\s*&/ # clashes with QXmlInputSource * version
2017-02-21 20:32:40 +01:00
drop_method "QAbstractXmlNodeModel", /QAbstractXmlNodeModel::sequencedTypedValue/ # QExplicitlySharedDataPointer template not available
drop_method "QAbstractXmlNodeModel", /QAbstractXmlNodeModel::type/ # QExplicitlySharedDataPointer template not available
drop_method "QAbstractXmlNodeModel", /QAbstractXmlNodeModel::iterate/ # QExplicitlySharedDataPointer template not available
drop_method "QAbstractXmlReceiver", /QAbstractXmlReceiver::item/ # not resolved: QPatternist::Item
drop_method "QAbstractXmlReceiver", /QAbstractXmlReceiver::sendAsNode/ # not resolved: QPatternist::Item
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::iterate/ # QExplicitlySharedDataPointer template not available
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::sequencedTypedValue/ # QExplicitlySharedDataPointer template not available
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::type/ # QExplicitlySharedDataPointer not available
drop_method "QXmlSerializer", /QXmlSerializer::item/ # not resolved: QPatternist::Item
drop_method "QXmlFormatter", /QXmlFormatter::item\(const\s+QPatternist::Item/ # not resolved: QPatternist::Item
drop_method "QXmlAttributes", /QXmlAttributes::value\(\s*const\s+QLatin1String/ # QLatin1String not available
drop_method "QXmlAttributes", /QXmlAttributes::value\(\s*QLatin1String/ # QLatin1String not available
drop_method "QXmlAttributes", /QXmlAttributes::index\(\s*const\s+QLatin1String/ # QLatin1String not available
drop_method "QXmlAttributes", /QXmlAttributes::index\(\s*QLatin1String/ # QLatin1String not available
drop_method "QXmlInputSource", /QXmlInputSource::setData\(.*QByteArray/ # clashes with QString version
drop_method "QXmlEntityResolver", /QXmlEntityResolver::resolveEntity/ # requires pointer return value
drop_method "QXmlDefaultHandler", /QXmlDefaultHandler::resolveEntity/ # requires pointer return value
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::is\(const\s+QXmlNodeModelIndex\s*\&/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::isDeepEqual\(const\s+QXmlNodeModelIndex\s*\&/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::documentUri/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::kind/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::name/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::baseUri/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::root/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::stringValue/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::namespaceForPrefix\(short/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::namespaceBindings/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::compareOrder\(const\s+QXmlNodeModelIndex\s*\&/ # because of inline function used by never defined
drop_method "QXmlNodeModelIndex", /QXmlNodeModelIndex::sendNamespaces\(QAbstractXmlReceiver\s*\*/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::code/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::hasNamespace/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::hasPrefix/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::isLexicallyEqual/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::localName/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::namespaceURI/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::prefix/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::setLocalName/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::setNamespaceURI/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::setPrefix/ # because of inline function used by never defined
drop_method "QXmlName", /QXmlName::QXmlName\(const\s+qint16/ # because of inline function used by never defined
rename "QDomElement", /QDomElement::setAttribute\(.*qulonglong/, "setAttribute_ull|attribute_ull="
rename "QDomElement", /QDomElement::setAttribute\(.*qlonglong/, "setAttribute_ll|attribute_ll="
rename "QDomElement", /QDomElement::setAttribute\(.*unsigned int/, "setAttribute_ui|attribute_ui="
rename "QDomElement", /QDomElement::setAttribute\(.*int value/, "setAttribute_i|attribute_i="
rename "QDomElement", /QDomElement::setAttribute\(.*double value/, "setAttribute_d|attribute_d="
rename "QDomElement", /QDomElement::setAttribute\(.*float value/, "setAttribute_f|attribute_f="
rename "QDomElement", /QDomElement::setAttributeNS\(.*qulonglong/, "setAttributeNS_ull|attributeNS_ull="
rename "QDomElement", /QDomElement::setAttributeNS\(.*qlonglong/, "setAttributeNS_ll|attributeNS_ll="
rename "QDomElement", /QDomElement::setAttributeNS\(.*unsigned int/, "setAttributeNS_ui|attributeNS_ui="
rename "QDomElement", /QDomElement::setAttributeNS\(.*int value/, "setAttributeNS_i|attributeNS_i="
rename "QDomElement", /QDomElement::setAttributeNS\(.*double value/, "setAttributeNS_d|attributeNS_d="
rename "QDomElement", /QDomElement::setAttributeNS\(.*float value/, "setAttributeNS_f|attributeNS_f="
drop_method "QDomDocument", /QDomDocument::setContent\(const\s+QByteArray/ # clashes with QString version
drop_class "QPatternist"
drop_class "QPatternistSDK"
no_imports "QAbstractXmlNodeModel" # base class is QSharedData which is not available
# --------------------------------------------------------------
# QtNetwork
drop_method "QUrlInfo", /QUrlInfo::QUrlInfo\(.*permissions/ # too many arguments (13)
drop_method "QHostAddress", /QHostAddress::QHostAddress\(\s*(const\s*)?quint8\s*\*/ # requires char *, a string version is available for IPv6
2017-02-21 20:32:40 +01:00
drop_method "QHostAddress", /QHostAddress::QHostAddress\(\s*const\s+QIPv6Address/ # requires QIPv6Address struct, a string version is available for IPv6
drop_method "QHostAddress", /QHostAddress::QHostAddress\(\s*const\s+sockaddr/ # requires sockaddr struct, a string version is available for IPv6
drop_method "QHostAddress", /QHostAddress::setAddress\(\s*(const\s*)?quint8\s*\*/ # requires char *, a string version is available for IPv6
2017-02-21 20:32:40 +01:00
drop_method "QHostAddress", /QHostAddress::setAddress\(\s*const\s+QIPv6Address/ # requires QIPv6Address struct, a string version is available for IPv6
drop_method "QHostAddress", /QHostAddress::setAddress\(\s*const\s+sockaddr/ # requires sockaddr struct, a string version is available for IPv6
drop_method "QHostAddress", /QHostAddress::toIPv6Address\(/ # requires QIPv6Address struct
def_alias "QHostAddress", /toString\(/, "to_s"
drop_method "QNetworkCacheMetaData", /QNetworkCacheMetaData::attributes/ # requires Hash
drop_method "QNetworkCacheMetaData", /QNetworkCacheMetaData::setAttributes/ # requires Hash
drop_method "QSslCertificate", /QSslCertificate::alternateSubjectNames/ # requires MultiMap
drop_method "QSslCertificate", /QSslCertificate::subjectAlternativeNames/ # requires MultiMap
drop_method "QFtp", /QFtp::read\(/ # requires char * - readAll may be an alternative. TODO: implement a real alternative!
drop_method "QUdpSocket", /QUdpSocket::readDatagram/ # requires "char *" - TODO: provide an alternative, because otherwise there is none!
rename "QHostAddress", /::QHostAddress\(quint/, "new_ip4" # disambiguator
rename "QHostAddress", /::QHostAddress\(QHostAddress::SpecialAddress/, "new_special" # disambiguator
rename "QLocalSocket", /::error\(QLocalSocket::LocalSocketError/, "error_sig" # disambiguator
rename "QNetworkReply", /::error\(QNetworkReply::NetworkError/, "error_sig" # disambiguator
rename "QAbstractSocket", /::error\(QAbstractSocket::SocketError/, "error_sig" # disambiguator
rename "QSslSocket", /::sslErrors\(const\s+QList/, "sslErrors_sig" # disambiguator
final_class "QAbstractSocket" # because readData cannot be reimplemented
final_class "QTcpSocket" # because readData cannot be reimplemented
final_class "QUdpSocket" # because readData cannot be reimplemented
final_class "QLocalSocket" # because readData cannot be reimplemented
final_class "QNetworkReply" # because readData cannot be reimplemented
final_class "QSslSocket" # because readData cannot be reimplemented
# --------------------------------------------------------------
# QtSql
include "QSql", [ "<QtSql>" ]
drop_class "QSqlDriverCreator" # is a template
drop_class "QSqlDriverPlugin" # not required ?
# --------------------------------------------------------------
# QtDesigner
drop_method "QFormBuilder", /QFormBuilder::customWidgets\(\s*\)/ # Requires QDesignerCustomWidgetInterface which is not (yet) available
return_new "QAbstractFormBuilder", /::load/ # returns a free object
2017-02-21 20:32:40 +01:00
no_copy_ctor "QAbstractFormBuilder"
no_copy_ctor "QFormBuilder"
final_class "QAbstractFormBuilder" # requires a lot of Dom* classes
final_class "QFormBuilder" # requires a lot of Dom* classes
# --------------------------------------------------------------
# QtMultimedia
include "QCamera", [ "<QCamera>", "<QVideoWidget>", "<QGraphicsVideoItem>", "<QAbstractVideoSurface>", "<QCameraInfo>" ]
include "QAudioBuffer", [ "<QAudioBuffer>" ]
include "QBackingStore", [ "<QBackingStore>" ]
include "QMediaPlayer", [ "<QMediaPlayer>", "<QVideoWidget>", "<QGraphicsVideoItem>", "<QMediaPlaylist>", "<QAbstractVideoSurface>", "<QMediaService>" ]
2017-02-21 20:32:40 +01:00
drop_class "QAudioBuffer", /StereoFrameDefault/
drop_class "QAudioBuffer", /StereoFrame/
drop_class "QAbstractPlanarVideoBuffer"
drop_method "QAudioBuffer", /QAudioBuffer::QAudioBuffer\(QAbstractAudioBuffer/ # QAbstractAudioBuffer not available
drop_method "QBackingStore", /QBackingStore::handle/ # QPlatformBackingStore not available
drop_method "QAbstractVideoBuffer", /QAbstractVideoBuffer::mapPlanes/ # int[] not available
drop_method "QAbstractVideoBuffer", /QAbstractVideoBuffer::map\(QAbstractVideoBuffer::MapMode/ # unsigned char * not available
drop_method "QVideoFrame", /^unsigned\s+char\s*\*/ # unsigned char * not available
# --------------------------------------------------------------
no_default_ctor "QRadioTunerControl"
no_default_ctor "QRadioDataControl"
no_default_ctor "QAbstractEventDispatcher::TimerInfo"
no_default_ctor "QAbstractVideoBuffer"
no_default_ctor "QDebug"
no_default_ctor "QSequentialIterable"
no_default_ctor "QSystemSemaphore"
no_default_ctor "QMediaObject"
no_default_ctor "QInputMethodQueryEvent"
no_default_ctor "QAbstractPageSetupDialog"
no_default_ctor "QAbstractPrintDialog"
no_default_ctor "QAbstractSocket"
no_default_ctor "QAbstractTextDocumentLayout"
no_default_ctor "QAccessible"
no_default_ctor "QAccessibleEvent"
no_default_ctor "QAccessibleStateChangeEvent"
no_default_ctor "QAccessibleTableModelChangeEvent"
no_default_ctor "QAccessibleTextCursorEvent"
no_default_ctor "QAccessibleTextInsertEvent"
no_default_ctor "QAccessibleTextRemoveEvent"
no_default_ctor "QAccessibleTextSelectionEvent"
no_default_ctor "QAccessibleTextUpdateEvent"
no_default_ctor "QAccessibleValueChangeEvent"
no_default_ctor "QAccessibleWidget"
no_default_ctor "QAction"
no_default_ctor "QActionEvent"
no_default_ctor "QActionGroup"
no_default_ctor "QApplication"
no_default_ctor "QApplicationStateChangeEvent"
no_default_ctor "QAssociativeIterable"
no_default_ctor "QBackingStore"
no_default_ctor "QBoxLayout"
no_default_ctor "QCameraExposure"
no_default_ctor "QCameraFocus"
no_default_ctor "QCameraImageCapture"
no_default_ctor "QCameraImageProcessing"
no_default_ctor "QChildEvent"
no_default_ctor "QClipboard"
no_default_ctor "QClipboardEvent"
no_default_ctor "QCollatorSortKey"
no_default_ctor "QColormap"
no_default_ctor "QCommandLineOption"
no_default_ctor "QContextMenuEvent"
no_default_ctor "QCoreApplication"
no_default_ctor "QCryptographicHash"
no_default_ctor "QDebugStateSaver"
no_default_ctor "QDirIterator"
no_default_ctor "QDoubleValidator"
no_default_ctor "QDrag"
no_default_ctor "QDragEnterEvent"
no_default_ctor "QDragMoveEvent"
no_default_ctor "QDragResponseEvent"
no_default_ctor "QDropEvent"
no_default_ctor "QDynamicPropertyChangeEvent"
no_default_ctor "QEnterEvent"
no_default_ctor "QEvent"
no_default_ctor "QExposeEvent"
no_default_ctor "QFileDevice"
no_default_ctor "QFileOpenEvent"
no_default_ctor "QFocusEvent"
no_default_ctor "QFontInfo"
no_default_ctor "QFontMetrics"
no_default_ctor "QFontMetricsF"
no_default_ctor "QGestureEvent"
no_default_ctor "QGraphicsAnchor"
no_default_ctor "QGraphicsSceneEvent"
no_default_ctor "QGuiApplication"
no_default_ctor "QHeaderView"
no_default_ctor "QHelpEvent"
no_default_ctor "QHoverEvent"
no_default_ctor "QInputEvent"
no_default_ctor "QInputMethod"
no_default_ctor "QInputMethodEvent::Attribute"
no_default_ctor "QItemSelectionModel"
no_default_ctor "QJsonValuePtr"
no_default_ctor "QJsonValueRef"
no_default_ctor "QJsonValueRefPtr"
no_default_ctor "QKeyEvent"
no_default_ctor "QLibraryInfo"
no_default_ctor "QLockFile"
no_default_ctor "QLoggingCategory"
no_default_ctor "QMediaAudioProbeControl"
no_default_ctor "QMediaControl"
no_default_ctor "QMediaRecorder"
no_default_ctor "QMediaService"
no_default_ctor "QMediaVideoProbeControl"
no_default_ctor "QMessageAuthenticationCode"
no_default_ctor "QMouseEvent"
no_default_ctor "QMoveEvent"
no_default_ctor "QNativeGestureEvent"
no_default_ctor "QNetworkSession"
no_default_ctor "QPaintDeviceWindow"
no_default_ctor "QPaintEvent"
no_default_ctor "QPdfWriter"
no_default_ctor "QPlainTextDocumentLayout"
no_default_ctor "QPlatformSurfaceEvent"
no_default_ctor "QRadioData"
no_default_ctor "QReadLocker"
no_default_ctor "QRegExpValidator"
no_default_ctor "QResizeEvent"
no_default_ctor "QRubberBand"
no_default_ctor "QScreen"
no_default_ctor "QScreenOrientationChangeEvent"
no_default_ctor "QScroller"
no_default_ctor "QScrollEvent"
no_default_ctor "QScrollPrepareEvent"
no_default_ctor "QSessionManager"
no_default_ctor "QShortcut"
no_default_ctor "QShortcutEvent"
no_default_ctor "QSignalBlocker"
no_default_ctor "QSimpleXmlNodeModel"
no_default_ctor "QSizeGrip"
no_default_ctor "QSocketNotifier"
no_default_ctor "QSound"
no_default_ctor "QSpacerItem"
no_default_ctor "QSplitterHandle"
no_default_ctor "QSqlResult"
no_default_ctor "QStandardPaths"
no_default_ctor "QStateMachine::SignalEvent"
no_default_ctor "QStateMachine::WrappedEvent"
no_default_ctor "QStatusTipEvent"
no_default_ctor "QStyleHints"
no_default_ctor "QSurface"
no_default_ctor "QSyntaxHighlighter"
no_default_ctor "QTabletEvent"
no_default_ctor "QTextBlockGroup"
no_default_ctor "QTextDecoder"
no_default_ctor "QTextEncoder"
no_default_ctor "QTextFrame"
no_default_ctor "QTextList"
no_default_ctor "QTextObject"
no_default_ctor "QTextTable"
no_default_ctor "QTimerEvent"
no_default_ctor "QToolBarChangeEvent"
no_default_ctor "QToolTip"
no_default_ctor "QTouchEvent"
no_default_ctor "QTreeWidgetItemIterator"
no_default_ctor "QUnixPrintWidget"
no_default_ctor "QWhatsThis"
no_default_ctor "QWhatsThisClickedEvent"
no_default_ctor "QWheelEvent"
no_default_ctor "QWidgetAction"
no_default_ctor "QWidgetItem"
no_default_ctor "QWindowStateChangeEvent"
no_default_ctor "QWriteLocker"
no_default_ctor "QXmlFormatter"
no_default_ctor "QXmlSerializer"
no_copy_ctor "QApplication"
no_copy_ctor "QSystemSemaphore"
no_copy_ctor "QScreen"
no_copy_ctor "QAbstractPageSetupDialog"
no_copy_ctor "QAbstractTextDocumentLayout"
no_copy_ctor "QBackingStore"
no_copy_ctor "QCDEStyle"
no_copy_ctor "QCleanlooksStyle"
no_copy_ctor "QCoreApplication"
no_copy_ctor "QDateEdit"
no_copy_ctor "QDateTimeEdit"
no_copy_ctor "QDebugStateSaver"
no_copy_ctor "QDialog"
no_copy_ctor "QEventLoop"
no_copy_ctor "QFileSystemWatcher"
no_copy_ctor "QFormLayout"
no_copy_ctor "QGraphicsLayoutItem"
no_copy_ctor "QGraphicsSceneContextMenuEvent"
no_copy_ctor "QGraphicsSceneDragDropEvent"
no_copy_ctor "QGraphicsSceneEvent"
no_copy_ctor "QGraphicsSceneHelpEvent"
no_copy_ctor "QGraphicsSceneHoverEvent"
no_copy_ctor "QGraphicsSceneMouseEvent"
no_copy_ctor "QGraphicsSceneMoveEvent"
no_copy_ctor "QGraphicsSceneResizeEvent"
no_copy_ctor "QGraphicsSceneWheelEvent"
# no_copy_ctor "QGtkStyle"
no_copy_ctor "QGuiApplication"
no_copy_ctor "QLayout"
no_copy_ctor "QLayout"
no_copy_ctor "QLockFile"
no_copy_ctor "QLoggingCategory"
no_copy_ctor "QMediaRecorder"
no_copy_ctor "QMessageAuthenticationCode"
no_copy_ctor "QMotifStyle"
no_copy_ctor "QNetworkAccessManager"
no_copy_ctor "QNetworkSession"
no_copy_ctor "QPageSetupDialog"
no_copy_ctor "QPaintDeviceWindow"
no_copy_ctor "QPainterPathStroker"
no_copy_ctor "QPdfWriter"
no_copy_ctor "QPlainTextDocumentLayout"
no_copy_ctor "QPrintDialog"
no_copy_ctor "QPrintPreviewDialog"
no_copy_ctor "QPrintPreviewWidget"
no_copy_ctor "QRadioData"
no_copy_ctor "QResource"
no_copy_ctor "QRubberBand"
no_copy_ctor "QScroller"
no_copy_ctor "QSessionManager"
no_copy_ctor "QShortcut"
no_copy_ctor "QSignalBlocker"
no_copy_ctor "QSound"
no_copy_ctor "QStandardItem"
no_copy_ctor "QSystemSemaphore"
no_copy_ctor "QThread"
no_copy_ctor "QTimeEdit"
no_copy_ctor "QWindowsStyle"
no_copy_ctor "QXmlParseException"
rename "QCameraExposure", /QCameraExposure::flashReady\(bool/, "flashReady_sig" # disambiguator
rename "QCameraImageCapture", /QCameraImageCapture::error\(int/, "error_sig" # disambiguator
rename "QMediaObject", /QMediaObject::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QMediaObject", /QMediaObject::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QMediaObject", /QMediaObject::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QMediaObject", /QMediaObject::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QMediaPlayer", /QMediaPlayer::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QMediaPlayer", /QMediaPlayer::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QMediaPlayer", /QMediaPlayer::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QMediaPlayer", /QMediaPlayer::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QMediaPlayer", /QMediaPlayer::error\(QMediaPlayer::/, "error_sig" # disambiguator
rename "QMediaRecorder", /QMediaRecorder::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QMediaRecorder", /QMediaRecorder::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QMediaRecorder", /QMediaRecorder::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QMediaRecorder", /QMediaRecorder::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QMediaRecorder", /QMediaRecorder::error\(QMediaRecorder::/, "error_sig" # disambiguator
rename "QMetaDataReaderControl", /QMetaDataReaderControl::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QMetaDataReaderControl", /QMetaDataReaderControl::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QMetaDataWriterControl", /QMetaDataWriterControl::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QMetaDataWriterControl", /QMetaDataWriterControl::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QRadioData", /QRadioData::error\(QRadioData::/, "error_sig" # disambiguator
rename "QRadioDataControl", /QRadioData::error\(QRadioData::/, "error_sig" # disambiguator
rename "QRadioTuner", /QRadioTuner::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QRadioTuner", /QRadioTuner::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QRadioTuner", /QRadioTuner::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QRadioTuner", /QRadioTuner::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QRadioTuner", /QRadioTuner::error\(QRadioTuner::/, "error_sig" # disambiguator
rename "QRadioTunerControl", /QRadioTunerControl::error\(QRadioTuner::/, "error_sig" # disambiguator
rename "QRadioDataControl", /QRadioDataControl::error\(QRadioData::/, "error_sig" # disambiguator
rename "QAudioDecoder", /QAudioDecoder::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QAudioDecoder", /QAudioDecoder::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QAudioDecoder", /QAudioDecoder::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QAudioDecoder", /QAudioDecoder::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QAudioDecoder", /QAudioDecoder::error\(QAudioDecoder::/, "error_sig" # disambiguator
rename "QAudioRecorder", /QAudioRecorder::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QAudioRecorder", /QAudioRecorder::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QAudioRecorder", /QAudioRecorder::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QAudioRecorder", /QAudioRecorder::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QCamera", /QCamera::availabilityChanged\(bool/, "availabilityChanged_bool" # disambiguator
rename "QCamera", /QCamera::availabilityChanged\(QMultimedia::AvailabilityStatus/, "availabilityChanged_status" # disambiguator
rename "QCamera", /QCamera::metaDataChanged\(\s*\)/, "metaDataChanged" # disambiguator
rename "QCamera", /QCamera::metaDataChanged\(const\s+QString/, "metaDataChanged_kv" # disambiguator
rename "QCamera", /QCamera::error\(QCamera::/, "error_sig" # disambiguator
rename "QCamera", /QCamera::lockStatusChanged\(QCamera::LockStatus/, "lockStatusChanged" # disambiguator
rename "QCamera", /QCamera::lockStatusChanged\(QCamera::LockType/, "lockStatusChanged_withType" # disambiguator
rename "QVideoDeviceSelectorControl", /QVideoDeviceSelectorControl::selectedDeviceChanged\(int/, "selectedDeviceChanged_int" # disambiguator
rename "QVideoDeviceSelectorControl", /QVideoDeviceSelectorControl::selectedDeviceChanged\(const\s+QString/, "selectedDeviceChanged_string" # disambiguator
rename "QNetworkSession", /QNetworkSession::error\(QNetworkSession::/, "error_sig" # disambiguator
rename "QSqlDriver", /QSqlDriver::notification\(const\s+QString\s*\&\s*\w*\s*\)/, "notification" # disambiguator
rename "QSqlDriver", /QSqlDriver::notification\(const\s+QString\s*\&\s*\w*\s*,/, "notification_withData" # disambiguator
#730: providing a new Qt module named QtUiTools for QUiLoader class s… (#735) * #730: providing a new Qt module named QtUiTools for QUiLoader class support. * Fixed a compile error on Mac * Added QtUiTools to some more places * Fixed a linker issue in the QtUiTools Python lib * On occasion fixed a infinite recursion problem in the debugger The recursion happened because by mistake I instantiated a QApplication inside an in-application Python script. This crashed the debugger due to infinite recursion. This is not a real use case but to prevent similar issues, a recursion sentinel was added. * Removed QCoreApplication#notify from script bindings Reasoning: "notify" made standalone scripts using QApplication and QUiLoader virtually impossible. Problem description: - When a QApplication object is instantiated, e.g. in Python, the Qt binding will install reimplementation hooks as the object may be dynamically extended. - A notify is virtual this means the *every* "notify" call in the application is routed through the interpreter. - For one thing this will slow down the application - But as "notify" is called a zillion times this has more than this side effect. - Specifically "notify" is called from within the QWidget constructor to indicate a new widget. Then, if a QDialog for example is instatiated, it's base class constructor will call "notify" when the object isn't ready yet. - This has another severe side effect: as the object isn't ready yet, it gets registered in the Python space with the wrong class and QDialog is not visible as such. To mitigate these problems, the most efficient solution is to disable "notify" in general. There is hardly any use case in a script environment (in C++, apart from hacking the only reasonable use case is exception handling, but this does not apply to scripts). For providing the call functionality of "notify" you should better use "postEvent" or "sendEvent" anyway. So farewell QCoreApplication.notify ... * Fixed python test for QtUiTools module * Fixed UiTools test on Qt4 - QUiLoader needs an application object Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
# --------------------------------------------------------------
# QtUiTools
include "QUiLoader", [ "<QUiLoader>", "<QDir>", "<QAction>", "<QActionGroup>", "<QLayout>", "<QWidget>", "<QChildEvent>", "<QEvent>", "<QTimerEvent>" ]
2017-02-21 20:32:40 +01:00
# --------------------------------------------------------------
# events and properties
# NOTE: to generate these files use scripts/mkqtdecl/mkqtdecl_extract_props.rb
# and scripts/mkqtdecl/mkqtdecl_extract_signals.rb
load "mkqtdecl.events"
load "mkqtdecl.properties"