mirror of https://github.com/KLayout/klayout.git
948 lines
54 KiB
Plaintext
948 lines
54 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 "QtMsgType"
|
|
drop_class "QtPlugin"
|
|
drop_class "QtPluginInstanceFunction"
|
|
drop_class "QtPrivate"
|
|
drop_class "QtSharedPointer"
|
|
drop_class "QtValidLicenseForActiveQtModule"
|
|
drop_class "QtValidLicenseForCoreModule"
|
|
drop_class "QtValidLicenseForDBusModule"
|
|
drop_class "QtValidLicenseForDeclarativeModule"
|
|
drop_class "QtValidLicenseForGuiModule"
|
|
drop_class "QtValidLicenseForHelpModule"
|
|
drop_class "QtValidLicenseForMultimediaModule"
|
|
drop_class "QtValidLicenseForNetworkModule"
|
|
drop_class "QtValidLicenseForOpenGLModule"
|
|
drop_class "QtValidLicenseForOpenVGModule"
|
|
drop_class "QtValidLicenseForQt3SupportLightModule"
|
|
drop_class "QtValidLicenseForQt3SupportModule"
|
|
drop_class "QtValidLicenseForScriptModule"
|
|
drop_class "QtValidLicenseForScriptToolsModule"
|
|
drop_class "QtValidLicenseForSqlModule"
|
|
drop_class "QtValidLicenseForSvgModule"
|
|
drop_class "QtValidLicenseForTestModule"
|
|
drop_class "QtValidLicenseForXmlModule"
|
|
drop_class "QtValidLicenseForXmlPatternsModule"
|
|
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.*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\(.*FILE/ # unsupported FILE
|
|
drop_method "QTextStream", /QTextStream::QTextStream\(.*FILE/ # unsupported 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 binds () 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 "QPolygon", [ "<QTransform>", "<QMatrix>" ]
|
|
include "QPolygonF", [ "<QTransform>", "<QMatrix>" ]
|
|
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*xpm\s*\[\s*\]/ # no const char *[] - TODO: provide differen implementation?
|
|
drop_method "QImage", /QImage::QImage\(.*unsigned\s+char\s+\*\s*data\W/ # not binary data constructor - done in native implementation
|
|
add_native_impl_QImage()
|
|
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"
|
|
|
|
# TODO: basically, the layout object only takes ownership over the objects when
|
|
# it has a QWidget parent itself. This is not reflected in the following simple scheme
|
|
keep_arg "QBoxLayout", /::addLayout/, 0 # will take ownership of layout
|
|
keep_arg "QBoxLayout", /::addSpacerItem/, 0 # will take ownership of item
|
|
keep_arg "QBoxLayout", /::addWidget/, 0 # will take ownership of item
|
|
keep_arg "QBoxLayout", /::insertItem/, 1 # will take ownership of item
|
|
keep_arg "QBoxLayout", /::insertLayout/, 1 # will take ownership of item
|
|
keep_arg "QBoxLayout", /::insertSpacerItem/, 1 # will take ownership of item
|
|
keep_arg "QBoxLayout", /::insertWidget/, 1 # will take ownership of item
|
|
keep_arg "QGridLayout", /::addLayout/, 0 # will take ownership of layout
|
|
keep_arg "QGridLayout", /::addItem/, 0 # will take ownership of layout
|
|
keep_arg "QGridLayout", /::addWidget/, 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 "QLayout", /::addWidget/, 0 # will take ownership of item
|
|
keep_arg "QStackedLayout", /::addWidget/, 0 # will take ownership of item
|
|
keep_arg "QStackedLayout", /::insertWidget/, 1 # will take ownership of item
|
|
|
|
keep_arg "QWidget", /::setLayout\s*\(/, 0 # will take ownership of layout
|
|
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"
|
|
|