Qt 4.8
|
The QSignalMapper class bundles signals from identifiable senders. More...
#include <qsignalmapper.h>
Public Slots | |
void | map () |
This slot emits signals based on which object sends signals to it. More... | |
void | map (QObject *sender) |
This slot emits signals based on the sender object. More... | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals | |
void | mapped (int) |
This signal is emitted when map() is signalled from an object that has an integer mapping set. More... | |
void | mapped (const QString &) |
This signal is emitted when map() is signalled from an object that has a string mapping set. More... | |
void | mapped (QWidget *) |
This signal is emitted when map() is signalled from an object that has a widget mapping set. More... | |
void | mapped (QObject *) |
This signal is emitted when map() is signalled from an object that has an object mapping set. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
QObject * | mapping (int id) const |
Returns the sender QObject that is associated with the id. More... | |
QObject * | mapping (const QString &text) const |
QObject * | mapping (QWidget *widget) const |
QObject * | mapping (QObject *object) const |
QSignalMapper (QObject *parent=0) | |
Constructs a QSignalMapper with parent parent. More... | |
void | removeMappings (QObject *sender) |
Removes all mappings for sender. More... | |
void | setMapping (QObject *sender, int id) |
Adds a mapping so that when map() is signalled from the given sender, the signal mapped(id) is emitted. More... | |
void | setMapping (QObject *sender, const QString &text) |
Adds a mapping so that when map() is signalled from the sender, the signal mapped(text ) is emitted. More... | |
void | setMapping (QObject *sender, QWidget *widget) |
Adds a mapping so that when map() is signalled from the sender, the signal mapped(widget ) is emitted. More... | |
void | setMapping (QObject *sender, QObject *object) |
Adds a mapping so that when map() is signalled from the sender, the signal mapped(object ) is emitted. More... | |
~QSignalMapper () | |
Destroys the QSignalMapper. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Additional Inherited Members | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QSignalMapper class bundles signals from identifiable senders.
This class collects a set of parameterless signals, and re-emits them with integer, string or widget parameters corresponding to the object that sent the signal.
The class supports the mapping of particular strings or integers with particular objects using setMapping(). The objects' signals can then be connected to the map() slot which will emit the mapped() signal with the string or integer associated with the original signalling object. Mappings can be removed later using removeMappings().
Example: Suppose we want to create a custom widget that contains a group of buttons (like a tool palette). One approach is to connect each button's clicked()
signal to its own custom slot; but in this example we want to connect all the buttons to a single slot and parameterize the slot by the button that was clicked.
Here's the definition of a simple custom widget that has a single signal, clicked()
, which is emitted with the text of the button that was clicked:
The only function that we need to implement is the constructor:
A list of texts is passed to the constructor. A signal mapper is constructed and for each text in the list a QPushButton is created. We connect each button's clicked()
signal to the signal mapper's map() slot, and create a mapping in the signal mapper from each button to the button's text. Finally we connect the signal mapper's mapped() signal to the custom widget's clicked()
signal. When the user clicks a button, the custom widget will emit a single clicked()
signal whose argument is the text of the button the user clicked.
Definition at line 56 of file qsignalmapper.h.
|
explicit |
Constructs a QSignalMapper with parent parent.
Definition at line 122 of file qsignalmapper.cpp.
QSignalMapper::~QSignalMapper | ( | ) |
|
slot |
This slot emits signals based on which object sends signals to it.
Definition at line 266 of file qsignalmapper.cpp.
|
slot |
This slot emits signals based on the sender object.
Definition at line 271 of file qsignalmapper.cpp.
|
signal |
This signal is emitted when map() is signalled from an object that has an integer mapping set.
The object's mapped integer is passed in i.
Referenced by map().
|
signal |
This signal is emitted when map() is signalled from an object that has a string mapping set.
The object's mapped string is passed in text.
|
signal |
This signal is emitted when map() is signalled from an object that has a widget mapping set.
The object's mapped widget is passed in widget.
|
signal |
This signal is emitted when map() is signalled from an object that has an object mapping set.
The object provided by the map is passed in object.
QObject * QSignalMapper::mapping | ( | int | id | ) | const |
Returns the sender QObject that is associated with the id.
Definition at line 205 of file qsignalmapper.cpp.
Definition at line 214 of file qsignalmapper.cpp.
Definition at line 228 of file qsignalmapper.cpp.
Definition at line 242 of file qsignalmapper.cpp.
void QSignalMapper::removeMappings | ( | QObject * | sender | ) |
Removes all mappings for sender.
This is done automatically when mapped objects are destroyed.
Definition at line 253 of file qsignalmapper.cpp.
void QSignalMapper::setMapping | ( | QObject * | sender, |
int | id | ||
) |
Adds a mapping so that when map() is signalled from the given sender, the signal mapped(id) is emitted.
There may be at most one integer ID for each sender.
Definition at line 154 of file qsignalmapper.cpp.
Referenced by ShaderEffectItem::connectPropertySignals().
Adds a mapping so that when map() is signalled from the sender, the signal mapped(text ) is emitted.
There may be at most one text for each sender.
Definition at line 167 of file qsignalmapper.cpp.
Adds a mapping so that when map() is signalled from the sender, the signal mapped(widget ) is emitted.
There may be at most one widget for each sender.
Definition at line 180 of file qsignalmapper.cpp.
Adds a mapping so that when map() is signalled from the sender, the signal mapped(object ) is emitted.
There may be at most one object for each sender.
Definition at line 193 of file qsignalmapper.cpp.