Enables introspection of signal emissions from a QObject. More...
#include <GCF3/SignalSpy>
Public Member Functions | |
| SignalSpy (QObject *sender, const char *signal, QObject *parent=0) | |
| ~SignalSpy () | |
| bool | isValid () const |
| QObject * | sender () const |
| QByteArray | signal () const |
| bool | wait (int timeout=5000) |
| void | clear () |
| int | count () const |
| bool | isEmpty () const |
| const QVariantList & | first () const |
| const QVariantList & | last () const |
| QVariantList | takeFirst () |
| QVariantList | takeLast () |
| QVariantList | takeAt (int index) |
| QVariantList | at (int index) const |
| void | removeAt (int index) |
| const QList< QVariantList > & | emissions () const |
Protected Member Functions | |
| virtual void | handleSignalEmission (const QVariantList &args) |
Detailed Description
This class is very similar to QSignalSpy, in that it can connect to any signal of any QObject instance and report signal emissions. Every signal emission is recorded as a QVariantList. A list of emissions captured can be fetched from the emissions() function.
The following example records all signal emissions for the clicked() signal of a QPushButton:
You can also use GCF::SignalSpy to block-wait for a signal emission. Example:
- Note
- The only difference between
QSignalSpyand GCF::SignalSpy is this: whileQSignalSpyrequires usage of qtestlib module, GCF::SignalSpy doesnt.
Constructor & Destructor Documentation
| GCF::SignalSpy::SignalSpy | ( | QObject * | sender, |
| const char * | signal, | ||
| QObject * | parent = 0 |
||
| ) |
Constructs a signal spy to listen for signal emissions from sender. If an invalid signal or null sender is passed as parameter; then isValid() will return false.
- Parameters
-
sender pointer to an object that is sending a signal (which needs spying) signal signal name of the signal (constructed using the SIGNAL macro). This would be the signal that the needs spying. parent pointer to a parent QObject for this signal-spy instance.
| GCF::SignalSpy::~SignalSpy | ( | ) |
Destructor
Member Function Documentation
| bool GCF::SignalSpy::isValid | ( | ) | const |
- Returns
- true if this spy is initialized on a valid QObject instance and signal. False otherwise.
| QObject * GCF::SignalSpy::sender | ( | ) | const |
- Returns
- pointer to the sender object that is sending the signal, which is being spied on by this instance.
- Note
- The function returns NULL if the sender was destroyed after the spy was created.
| QByteArray GCF::SignalSpy::signal | ( | ) | const |
- Returns
- complete normalized signature of the signal that this spy is spying on.
| bool GCF::SignalSpy::wait | ( | int | timeout = 5000 | ) |
Starts an event-loop internally and waits for timeout milliseconds or a signal emission to occur.
- Returns
- true if the signal emission occurred within timeout milliseconds, false if the wait stopped due to the timeout.
| void GCF::SignalSpy::clear | ( | ) |
Clears all recorded signal emissions. Each signal emission is recorded as a QVariantList of arguments (emitted by the signal).
| int GCF::SignalSpy::count | ( | ) | const |
- Returns
- the number of signal emissions recorded.
| bool GCF::SignalSpy::isEmpty | ( | ) | const |
- Returns
- true if count() is ZERO, false otherwise.
| const QVariantList & GCF::SignalSpy::first | ( | ) | const |
- Returns
- a const reference to the first (earliest) signal emission captured by this spy.
| const QVariantList & GCF::SignalSpy::last | ( | ) | const |
- Returns
- a const reference to the last (most recent) signal emission captured by this spy.
| QVariantList & GCF::SignalSpy::takeFirst | ( | ) |
- Returns
- copy of the first (earliest) signal emission captured by this spy.
- Note
- Before returning the emission is removed from the internal list of emissions. After this function returns count() is reduced by 1
| QVariantList & GCF::SignalSpy::takeLast | ( | ) |
- Returns
- copy of the last (most recent) signal emission captured by this spy.
- Note
- Before returning, the emission is removed from the internal list of emissions. After this function returns count() is reduced by 1
| QVariantList GCF::SignalSpy::takeAt | ( | int | index | ) |
- Returns
- copy of the signal emission at
index
- Note
- Before returning, the emission is removed from the internal list of emissions. After this function returns count() is reduced by 1
| QVariantList GCF::SignalSpy::at | ( | int | index | ) | const |
- Returns
- copy of the signal emission at
index
| void GCF::SignalSpy::removeAt | ( | int | index | ) |
Removes signal emission information at index.
- Note
- index has to be >= 0 and < count()
| const QList< QVariantList > & GCF::SignalSpy::emissions | ( | ) | const |
- Returns
- const reference to the internal list of emissions maintained by this spy
|
protectedvirtual |
This virtual function is called whenever a signal emission is detected. By default the function implemented to emits the caughtSignal() signal.
- Parameters
-
args list of parameters emitted by the signal.

