diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2012-04-12 22:46:01 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-13 18:15:26 +0200 |
commit | 5a8c13a7d4420cabf0fadbed6f8cae07162a32d8 (patch) | |
tree | 817448a47cc7cfabcbb55960520300a457498638 /src/corelib/kernel | |
parent | 84caba25d8cc0b7a050abc4d60393fbb3ec73391 (diff) |
doc: Fix QObject::connect documentation
Unfortunately, qdoc is too simple to understand any pointer to member
function syntax.
(the ::* token is not even tokenized. And even if it was, it would be a
difficult way to hack that into the parser. (there is already an ugly
workaround for non-member pointer to function hat works by having '(*'
as a token,but the same hack is not possible for pointer to member function))
So I just put verbatim 'PointerToMemberFunction'
Also remove the obsolete mention that Qt::UniqueConnection is not supported
in that overload. It is now. (And it even contradicts the previous
paragraph)
Change-Id: I8fc9544808c9a462b0f11ccea406e2e33dee15b1
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 19 | ||||
-rw-r--r-- | src/corelib/kernel/qobject.h | 6 | ||||
-rw-r--r-- | src/corelib/kernel/qobjectdefs.h | 2 |
3 files changed, 12 insertions, 15 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 25adee7cc7..984624b58f 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3872,8 +3872,8 @@ void qDeleteInEventHandler(QObject *o) } /*! - \fn QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), const QObject *receiver, (T::*method)(...), Qt::ConnectionType type) - + \fn QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) + \overload connect() \threadsafe Creates a connection of the given \a type from the \a signal in @@ -3929,18 +3929,14 @@ void qDeleteInEventHandler(QObject *o) \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 25 make sure to declare the argument type with Q_DECLARE_METATYPE - - A signal is emitted for every connection you make; - two signals are emitted for duplicate connections. - This overload does not support the type Qt::UniqueConnection */ /*! - \fn QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), Functor functor) + \fn QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, Functor functor) \threadsafe - \overload + \overload connect() Creates a connection of the given \a type from the \a signal in the \a sender object to the \a functor and returns a handle to the connection @@ -4089,9 +4085,9 @@ bool QObject::disconnect(const QMetaObject::Connection &connection) return true; } -/*! \fn bool QObject::disconnect(const QObject *sender, (T::*signal)(...), const Qbject *receiver, (T::*method)(...)) +/*! \fn bool QObject::disconnect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) + \overload diconnect() \threadsafe - \overload Disconnects \a signal in object \a sender from \a method in object \a receiver. Returns true if the connection is successfully broken; @@ -4148,6 +4144,7 @@ bool QObject::disconnect(const QMetaObject::Connection &connection) \sa connect() */ + bool QObject::disconnectImpl(const QObject *sender, void **signal, const QObject *receiver, void **slot, const QMetaObject *senderMetaObject) { if (sender == 0 || (receiver == 0 && slot != 0)) { @@ -4209,7 +4206,7 @@ QMetaObject::Connection::~Connection() } /*! - \fn bool QMetaObject::Connection::operator bool() + \fn QMetaObject::Connection::operator bool() const Returns true if the connection is valid. diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 9f09617071..59339da894 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -199,8 +199,8 @@ public: const char *member, Qt::ConnectionType type = Qt::AutoConnection) const; #ifdef Q_QDOC - QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), const QObject *receiver, (T::*method)(...), Qt::ConnectionType type) - QMetaObject::Connection QObject::connect(const QObject *sender, (T::*signal)(...), Functor functor) + static QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type); + static QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor); #else //Connect a signal to a pointer to qobject member function template <typename Func1, typename Func2> @@ -279,7 +279,7 @@ public: static bool disconnect(const QMetaObject::Connection &); #ifdef Q_QDOC - bool QObject::disconnect(const QObject *sender, (T::*signal)(...), const Qbject *receiver, (T::*method)(...)) + static bool disconnect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method); #else template <typename Func1, typename Func2> static inline bool disconnect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 5588724d4c..d391fb94ce 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -462,7 +462,7 @@ public: Connection(); Connection(const Connection &other); Connection &operator=(const Connection &other); -#ifdef qdoc +#ifdef Q_QDOC operator bool() const; #else typedef void *Connection::*RestrictedBool; |