mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-28 17:06:31 +02:00
* #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 <[email protected]>
909 lines
52 KiB
Plaintext
909 lines
52 KiB
Plaintext
#
|
|
# 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, /::qt_check_for_QOBJECT_macro/ # don't include in API!
|
|
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, /::devType\(/ # not required
|
|
drop_method :all_classes, /::x11/ # no X11 stuff
|
|
drop_method :all_classes, /::data_ptr/ # no private data
|
|
|
|
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
|
|
|
|
# --------------------------------------------------------------
|
|
# 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
|
|
|
|
# --------------------------------------------------------------
|
|
# QtCore
|
|
|
|
drop_class "QLocale", /Data/
|
|
drop_class "QVariant", /Private/
|
|
drop_class "QVariant", /Handler/
|
|
drop_class "QVariant" # implicitly defined
|
|
|
|
# not implemented:
|
|
drop_class "QAbstractEventDispatcher"
|
|
drop_class "QAbstractFileEngineHandler"
|
|
drop_class "QAbstractFileEngineIterator"
|
|
drop_class "QAbstractFileEngine" # read requires char *
|
|
drop_class "QAlgorithmsPrivate"
|
|
drop_class "QArgument"
|
|
drop_class "QAtomic"
|
|
drop_class "QAtomicInt"
|
|
drop_class "QAtomicPointer"
|
|
drop_class "QBasicAtomicInt"
|
|
drop_class "QBasicAtomicPointer"
|
|
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 "QDebug"
|
|
drop_class "QExplicitlySharedDataPointer"
|
|
drop_class "QFileInfoList"
|
|
drop_class "QFileInfoListIterator"
|
|
drop_class "QFlag"
|
|
drop_class "QFlags"
|
|
drop_class "QForeachContainer"
|
|
drop_class "QForeachContainerBase"
|
|
drop_class "QFSFileEngine"
|
|
drop_class "QGenericArgument"
|
|
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 "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 "QMap"
|
|
drop_class "QMapData"
|
|
drop_class "QMapIterator"
|
|
drop_class "QMapNode"
|
|
drop_class "QMapPayloadNode"
|
|
drop_class "QMetaObjectExtraData"
|
|
drop_class "QMetaTypeId"
|
|
drop_class "QMetaTypeId2"
|
|
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 "QNoDebug"
|
|
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 "QScopedPointerPodDeleter"
|
|
drop_class "QSet"
|
|
drop_class "QSetIterator"
|
|
drop_class "QSharedDataPointer"
|
|
drop_class "QSharedData" # where to get QAtomic?
|
|
drop_class "QSharedPointer"
|
|
drop_class "QStack"
|
|
drop_class "QStdWString"
|
|
drop_class "QStringListIterator"
|
|
drop_class "QStringList" # mapped otherwise
|
|
drop_class "QString" # mapped otherwise
|
|
drop_class "QStringRef"
|
|
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"
|
|
drop_class "QtPlugin"
|
|
drop_class "QtPluginInstanceFunction"
|
|
drop_class "QtPrivate"
|
|
drop_class "QtSharedPointer"
|
|
drop_class "QTypeInfo"
|
|
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 "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
|
|
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 "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::cast\(/ # internal
|
|
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 "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
|
|
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 "QChildEvent", /QChildEvent::child/ # provided through a special implementation
|
|
drop_method "QFile", /QFile::setDecodingFunction/ # uses callbacks
|
|
drop_method "QFile", /QFile::setEncodingFunction/ # uses callbacks
|
|
drop_method "QFile", /QFile::open.*IO_FILE/ # 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 "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\(.*_IO_FILE/ # unsupported IO_FILE
|
|
drop_method "QTextStream", /QTextStream::QTextStream\(.*_IO_FILE/ # unsupported IO_FILE
|
|
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?
|
|
|
|
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")
|
|
|
|
# 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/
|
|
|
|
# alternative implementation for QObject::findChild
|
|
add_native_impl_QObject_findChild
|
|
|
|
# alternative implementation for QChildEvent::child
|
|
# Reason: this method does not supply a true QObject pointer. Instead it will
|
|
# deliver a pointer to an object that is almost destroyed. Normal RTTI will
|
|
# not work on this. Neighter can it be attached an gsi::ObjectBase object.
|
|
add_native_impl("QChildEvent", <<'CODE', <<'DECL')
|
|
|
|
namespace gsi
|
|
{
|
|
gsi::Class<QObject> &qtdecl_QObject ();
|
|
}
|
|
|
|
namespace
|
|
{
|
|
struct DummyQObject { };
|
|
|
|
class RawQObjectClass
|
|
: public gsi::Class<QObject>
|
|
{
|
|
public:
|
|
RawQObjectClass ()
|
|
: gsi::Class<QObject> (gsi::qtdecl_QObject (), "Qt", "QObject_Raw", gsi::Methods (), "@hide")
|
|
{
|
|
}
|
|
|
|
// Final class - because of missing RTTI, subclassing won't work.
|
|
virtual const gsi::ClassBase *subclass_decl (const void *) const { return this; }
|
|
virtual bool can_upcast (const void *) const { return false; }
|
|
|
|
// Does not bind to a particular type
|
|
virtual bool is_of_type (const std::type_info & /*ti*/) const { return false; }
|
|
virtual const std::type_info &type () const { return typeid (DummyQObject); }
|
|
};
|
|
}
|
|
|
|
static void _init_f_child (qt_gsi::GenericMethod *decl)
|
|
{
|
|
// Make the QChildEvent::child method return a special class which is final
|
|
// and does not try to return a gsi::ObjectBase object.
|
|
static RawQObjectClass s_cls;
|
|
decl->set_return<QObject * > ();
|
|
decl->ret_type ().set_cls (&s_cls);
|
|
}
|
|
|
|
static void _call_f_child (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs & /*args*/, gsi::SerialArgs &ret)
|
|
{
|
|
ret.write<QObject * > ((QObject *)((QChildEvent *)cls)->child ());
|
|
}
|
|
|
|
CODE
|
|
gsi::Methods(new qt_gsi::GenericMethod ("child",
|
|
"@brief Method QObject *QChildEvent::child()\n"
|
|
"NOTE: the object returned by this method is not memory managed. It may be destroyed internally without notice. \n"
|
|
"The returned object shall not be stored or used outside the childEvent handler. "
|
|
"If used outside this handler, the reference might get lost and the application may crash.\n"
|
|
"Furthermore, the object returned will only represent a QObject, not any derived type.\n",
|
|
true, &_init_f_child, &_call_f_child))
|
|
DECL
|
|
|
|
# alternative implementation for QFont::Light, QFont::Bold, QFont::Normal, QFont::DemiBold, QFont::Black
|
|
add_native_impl_QFont
|
|
|
|
# alternative implementation for QRegion::setRects
|
|
add_native_impl_QRegion
|
|
|
|
# alternative implementation for QPersistentQModelIndex::operator const QModelIndex &
|
|
add_native_impl_QPersistentQModelIndex
|
|
|
|
# implementation of operator<< and operator>> for QDataStream
|
|
add_native_impl_streams
|
|
|
|
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
|
|
|
|
# --------------------------------------------------------------
|
|
# QtGui
|
|
|
|
drop_class "QAccessible2"
|
|
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 "QScreen"
|
|
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"
|
|
|
|
# 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>" ]
|
|
include "QGraphicsScene", [ "<QGraphicsScene>", "<QGraphicsView>", "<QGraphicsItem>", "<QGraphicsWidget>", "<QGraphicsEllipseItem>", "<QGraphicsLineItem>", "<QGraphicsPathItem>", "<QGraphicsPixmapItem>", "<QGraphicsPolygonItem>", "<QGraphicsRectItem>", "<QGraphicsSimpleTextItem>", "<QGraphicsTextItem>", "<QGraphicsProxyWidget>", "<QGraphicsItemGroup>", "<QStyle>", "<QGraphicsSceneContextMenuEvent>", "<QGraphicsSceneDragDropEvent>", "<QGraphicsSceneHelpEvent>", "<QGraphicsSceneMouseEvent>", "<QGraphicsSceneWheelEvent>" ]
|
|
include "QApplication", [ "<QApplication>", "<QSessionManager>", "<QDesktopWidget>", "<QStyle>", "<QScreen>", "<QLocale>", "<QClipboard>", "<QInputContext>" ]
|
|
include "QTextStream", [ "<QTextStream>", "<QIODevice>", "<QLocale>", "<QTextCodec>", "<QDomNode>", "<QSplitter>" ]
|
|
include "QWindow", [ "<QWindow>", "<QScreen>" ]
|
|
include "QOffscreenSurface", [ "<QOffscreenSurface>", "<QScreen>" ]
|
|
include "QScreenOrientationChangeEvent", [ "<QScreenOrientationChangeEvent>", "<QScreen>" ]
|
|
|
|
drop_method "QAbstractPageSetupDialog", /QAbstractPageSetupDialog::QAbstractPageSetupDialog\(QAbstractPageSetupDialogPrivate/
|
|
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 "QApplication", /QApplication::commitDataRequest/ # Signal with a out argument (QSessionManager &)
|
|
drop_method "QApplication", /QApplication::saveStateRequest/ # Signal with a out argument (QSessionManager &)
|
|
drop_method "QApplication", /QApplication::saveState\s*\(/ # QSessionManager is not always available
|
|
drop_method "QApplication", /QApplication::commitData\s*\(/ # QSessionManager is not always available
|
|
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 "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
|
|
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
|
|
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
|
|
# 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"
|
|
|
|
# special implementations:
|
|
|
|
drop_method "QApplication", /QApplication::QApplication/ # uses char **
|
|
add_native_qapp_ctor_impl("QApplication")
|
|
|
|
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
|
|
|
|
# --------------------------------------------------------------
|
|
# QtXml
|
|
|
|
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
|
|
drop_method "QXmlAttributes", /QXmlAttributes::value\(\s*const\s+QLatin1String/ # QLatin1String not available
|
|
drop_method "QXmlAttributes", /QXmlAttributes::index\(\s*const\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 "QXmlSimpleReader", /QXmlSimpleReader::parse\(.*QXmlInputSource\s*&/ # clashes with QXmlInputSource * version
|
|
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
|
|
|
|
# --------------------------------------------------------------
|
|
# QtNetwork
|
|
|
|
drop_method "QUrlInfo", /QUrlInfo::QUrlInfo\(.*permissions/ # too many arguments (13)
|
|
drop_method "QHostAddress", /QHostAddress::QHostAddress\(\s*quint8\s*\*/ # requires char *, a string version is available for IPv6
|
|
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*quint8\s*\*/ # requires char *, a string version is available for IPv6
|
|
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 "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
|
|
|
|
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
|
|
|
|
# --------------------------------------------------------------
|
|
|
|
no_default_ctor "QDirIterator"
|
|
no_default_ctor "QUnixPrintWidget"
|
|
no_default_ctor "QToolBarChangeEvent"
|
|
no_default_ctor "QClipboardEvent"
|
|
no_default_ctor "QDragResponseEvent"
|
|
no_default_ctor "QAbstractPageSetupDialog"
|
|
no_default_ctor "QSqlResult"
|
|
no_default_ctor "QCryptographicHash"
|
|
no_default_ctor "QAbstractPrintDialog"
|
|
no_default_ctor "QSyntaxHighlighter"
|
|
no_default_ctor "QAbstractTextDocumentLayout"
|
|
no_default_ctor "QAccessibleEvent"
|
|
no_default_ctor "QAccessibleWidget"
|
|
no_default_ctor "QTouchEvent"
|
|
no_default_ctor "QAction"
|
|
no_default_ctor "QActionEvent"
|
|
no_default_ctor "QActionGroup"
|
|
no_default_ctor "QApplication"
|
|
no_default_ctor "QBoxLayout"
|
|
no_default_ctor "QClipboard"
|
|
no_default_ctor "QContextMenuEvent"
|
|
no_default_ctor "QDoubleValidator"
|
|
no_default_ctor "QDrag"
|
|
no_default_ctor "QDragEnterEvent"
|
|
no_default_ctor "QDragMoveEvent"
|
|
no_default_ctor "QDropEvent"
|
|
no_default_ctor "QFileOpenEvent"
|
|
no_default_ctor "QFocusEvent"
|
|
no_default_ctor "QFontInfo"
|
|
no_default_ctor "QFontMetrics"
|
|
no_default_ctor "QFontMetricsF"
|
|
no_default_ctor "QGraphicsSceneEvent"
|
|
no_default_ctor "QGestureEvent"
|
|
no_default_ctor "QGraphicsAnchor"
|
|
no_default_ctor "QHeaderView"
|
|
no_default_ctor "QHelpEvent"
|
|
no_default_ctor "QHoverEvent"
|
|
no_default_ctor "QInputEvent"
|
|
no_default_ctor "QItemSelectionModel"
|
|
no_default_ctor "QKeyEvent"
|
|
no_default_ctor "QMouseEvent"
|
|
no_default_ctor "QMoveEvent"
|
|
no_default_ctor "QPaintEvent"
|
|
no_default_ctor "QPlainTextDocumentLayout"
|
|
no_default_ctor "QRegExpValidator"
|
|
no_default_ctor "QResizeEvent"
|
|
no_default_ctor "QRubberBand"
|
|
no_default_ctor "QSessionManager"
|
|
no_default_ctor "QShortcut"
|
|
no_default_ctor "QShortcutEvent"
|
|
no_default_ctor "QSizeGrip"
|
|
no_default_ctor "QSound"
|
|
no_default_ctor "QSpacerItem"
|
|
no_default_ctor "QSplitterHandle"
|
|
no_default_ctor "QStatusTipEvent"
|
|
no_default_ctor "QTabletEvent"
|
|
no_default_ctor "QTextBlockGroup"
|
|
no_default_ctor "QTextFrame"
|
|
no_default_ctor "QTextList"
|
|
no_default_ctor "QTextObject"
|
|
no_default_ctor "QTextTable"
|
|
no_default_ctor "QTreeWidgetItemIterator"
|
|
no_default_ctor "QWhatsThisClickedEvent"
|
|
no_default_ctor "QWheelEvent"
|
|
no_default_ctor "QWidgetAction"
|
|
no_default_ctor "QWidgetItem"
|
|
no_default_ctor "QWindowStateChangeEvent"
|
|
no_default_ctor "QChildEvent"
|
|
no_default_ctor "QCoreApplication"
|
|
no_default_ctor "QDynamicPropertyChangeEvent"
|
|
no_default_ctor "QEvent"
|
|
no_default_ctor "QReadLocker"
|
|
no_default_ctor "QSocketNotifier"
|
|
no_default_ctor "QTimerEvent"
|
|
no_default_ctor "QWriteLocker"
|
|
no_default_ctor "QTextDecoder"
|
|
no_default_ctor "QTextEncoder"
|
|
no_default_ctor "QColormap"
|
|
no_default_ctor "QToolTip"
|
|
no_default_ctor "QWhatsThis"
|
|
no_default_ctor "QLibraryInfo"
|
|
no_default_ctor "QAbstractSocket"
|
|
no_default_ctor "QInputMethodEvent::Attribute"
|
|
|
|
no_copy_ctor "QGraphicsLayoutItem"
|
|
no_copy_ctor "QCDEStyle"
|
|
no_copy_ctor "QMotifStyle"
|
|
no_copy_ctor "QWindowsStyle"
|
|
no_copy_ctor "QCleanlooksStyle"
|
|
# no_copy_ctor "QGtkStyle"
|
|
no_copy_ctor "QDateTimeEdit"
|
|
no_copy_ctor "QDateEdit"
|
|
no_copy_ctor "QLayout"
|
|
no_copy_ctor "QDialog"
|
|
no_copy_ctor "QAbstractPageSetupDialog"
|
|
no_copy_ctor "QAbstractTextDocumentLayout"
|
|
no_copy_ctor "QPageSetupDialog"
|
|
no_copy_ctor "QPainterPathStroker"
|
|
no_copy_ctor "QGraphicsSceneContextMenuEvent"
|
|
no_copy_ctor "QGraphicsSceneDragDropEvent"
|
|
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 "QGraphicsSceneEvent"
|
|
no_copy_ctor "QPlainTextDocumentLayout"
|
|
no_copy_ctor "QPrintDialog"
|
|
no_copy_ctor "QPrintPreviewDialog"
|
|
no_copy_ctor "QPrintPreviewWidget"
|
|
no_copy_ctor "QStandardItem"
|
|
no_copy_ctor "QTimeEdit"
|
|
no_copy_ctor "QEventLoop"
|
|
no_copy_ctor "QFileSystemWatcher"
|
|
no_copy_ctor "QResource"
|
|
no_copy_ctor "QThread"
|
|
no_copy_ctor "QRubberBand"
|
|
no_copy_ctor "QSound"
|
|
no_copy_ctor "QCoreApplication"
|
|
no_copy_ctor "QLayout"
|
|
no_copy_ctor "QSessionManager"
|
|
no_copy_ctor "QShortcut"
|
|
no_copy_ctor "QFormLayout"
|
|
no_copy_ctor "QXmlParseException"
|
|
no_copy_ctor "QNetworkAccessManager"
|
|
|
|
# --------------------------------------------------------------
|
|
# QtUiTools
|
|
|
|
include "QUiLoader", [ "<QUiLoader>", "<QDir>", "<QAction>", "<QActionGroup>", "<QLayout>", "<QWidget>", "<QChildEvent>", "<QEvent>", "<QTimerEvent>" ]
|
|
|
|
# --------------------------------------------------------------
|
|
# 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"
|
|
|