summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2012-04-12 22:46:01 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-13 18:15:26 +0200
commit5a8c13a7d4420cabf0fadbed6f8cae07162a32d8 (patch)
tree817448a47cc7cfabcbb55960520300a457498638 /src/corelib/kernel
parent84caba25d8cc0b7a050abc4d60393fbb3ec73391 (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.cpp19
-rw-r--r--src/corelib/kernel/qobject.h6
-rw-r--r--src/corelib/kernel/qobjectdefs.h2
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;