qt.cfg: Add/Enhance Qt macros and functions (#1164)

Qt macro Q_D() is disabled for now until ticket 8479 gets fixed.
This commit is contained in:
Sebastian 2018-04-12 13:40:02 +02:00 committed by GitHub
parent c39a3e3f1c
commit 26e22a9f5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 58 additions and 5 deletions

View File

@ -67,8 +67,7 @@
<!-- QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection) -->
<!-- QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, Functor functor) -->
<!-- QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection) -->
<!-- TODO: function configuration should match all overloaded functions and ideally only QObject methods -->
<function name="connect">
<function name="connect,QObject::connect">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
@ -81,7 +80,10 @@
<not-null/>
<not-uninit/>
</arg>
<arg nr="4">
<arg nr="4" default="0">
<not-uninit/>
</arg>
<arg nr="5" default="0">
<not-uninit/>
</arg>
</function>
@ -91,7 +93,7 @@
<!-- bool QObject::disconnect(const QMetaObject::Connection &connection) -->
<!-- bool QObject::disconnect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) -->
<!-- TODO: function configuration should match all overloaded functions and ideally only QObject methods -->
<function name="disconnect">
<function name="disconnect,QObject::disconnect">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
@ -307,13 +309,42 @@
<returnValue type="bool"/>
<const/>
</function>
<!-- QString QString::fromLatin1(const char *str, int size = -1) //static -->
<!-- QString QString::fromLatin1(const QByteArray &str) //static -->
<function name="QString::fromLatin1">
<noreturn>false</noreturn>
<use-retval/>
<returnValue type="QString"/>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2" default="-1">
<not-uninit/>
</arg>
</function>
<!-- QString QString::fromStdString(const std::string &str) //static -->
<function name="QString::fromStdString">
<noreturn>false</noreturn>
<use-retval/>
<returnValue type="QString"/>
<leak-ignore/>
<arg nr="1"/>
</function>
<!-- QString QString::fromUtf8(const char *str, int size = -1) //static -->
<!-- QString QString::fromUtf8(const QByteArray &str) //static -->
<function name="QString::fromUtf8">
<noreturn>false</noreturn>
<use-retval/>
<returnValue type="QString"/>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2" default="-1">
<not-uninit/>
</arg>
</function>
<!-- int QList::indexOf(const T &) const -->
<!-- int QStringList::indexOf(const QString &) const -->
<function name="QList::indexOf,QStringList::indexOf">
@ -354,7 +385,8 @@
<function name="QList::lastIndexOf,QStringList::lastIndexOf">
<noreturn>false</noreturn>
<use-retval/>
<returnValue type="signed int"/>
<returnValue type="int"/>
<const/>
<arg nr="1">
<not-uninit/>
</arg>
@ -494,6 +526,19 @@
<use-retval/>
<const/>
</function>
<!-- QString QStringList::join(const QString &separator) const -->
<!-- QString QStringList::join(QLatin1String separator) const -->
<!-- QString QStringList::join(QChar separator) const -->
<function name="QStringList::join">
<noreturn>false</noreturn>
<use-retval/>
<returnValue type="QString"/>
<leak-ignore/>
<const/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- void QMetaObject::connectSlotsByName(QObject *object) -->
<function name="QMetaObject::connectSlotsByName">
<noreturn>false</noreturn>
@ -607,6 +652,10 @@
<function name="back" yields="item"/>
</access>
</container>
<define name="Q_ARG(type, data)" value="QArgument&lt;type &gt;(#type, data)"/>
<!-- TODO: Enable when ticket 8479 got fixed
<define name="Q_D(Class)" value="Class##Private * const d = d_func()"/>
-->
<define name="Q_DECL_EXPORT" value=""/>
<define name="Q_DECL_IMPORT" value=""/>
<define name="Q_DECLARE_FLAGS(x,y)" value=""/>
@ -617,7 +666,11 @@
<define name="Q_INTERFACES(X)" value=""/>
<define name="Q_OBJECT" value=""/>
<define name="Q_PROPERTY(X)" value=""/>
<define name="Q_Q(Class)" value="Class * const q = q_func()"/>
<define name="Q_RETURN_ARG(type, data)" value="QReturnArgument&lt;type &gt;(#type, data)"/>
<define name="Q_UNUSED(X)" value="(void)X;"/>
<define name="foreach(A,B)" value="for(A:B)"/>
<define name="emit(X)" value="(X)"/>
<podtype name="qint8" sign="s" size="1"/>
<podtype name="qint16" sign="s" size="2"/>
<podtype name="qint32" sign="s" size="4"/>