00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef QEXTEND_CONNECTOR_H
00021 #define QEXTEND_CONNECTOR_H
00022 #include "extendptr.hpp"
00023 #include <QObject>
00024 namespace QExtend
00025 {
00026
00027 class Receiver;
00028
00029
00030
00033
00039 class QEXTEND_EXPORT Emitter
00040 {
00041 ExtendPtr<const QObject,WEAK> m_emitter;
00042 const char * m_signal;
00043 mutable Qt::ConnectionType m_type;
00044
00045 public:
00048
00062 Emitter(const QObject * obj = 0, const char * signal = 0);
00063
00066
00078 Emitter(const char * signal );
00079
00082 const QObject * emitter() const;
00083
00084
00085
00088 const char * signal() const;
00089
00090
00091
00094
00105 void replaceObject(const QObject * obj);
00106
00109
00120 void replaceSignal( const char * signal);
00121
00124
00138 void replaceEmitter(const QObject * obj, const char * signal);
00139
00142
00153 const Emitter & operator >> (const Receiver & r) const;
00154
00155
00158
00169 const Emitter & operator >> (const Emitter & e) const;
00170
00171 const Emitter & operator << (const Emitter & e) const;
00172
00173
00176
00187 const Emitter & operator >> (Qt::ConnectionType type) const ;
00188
00189
00190
00191 };
00192
00195
00201 class QEXTEND_EXPORT Receiver
00202 {
00203 ExtendPtr<const QObject,WEAK> m_receiver;
00204 const char * m_slot;
00205 mutable Qt::ConnectionType m_type;
00206
00207 public:
00210
00224 Receiver(const QObject * obj = 0, const char * slot = 0);
00225
00228
00240 Receiver( const char * slot );
00241
00244 const QObject * receiver() const;
00245
00248 const char * slot() const;
00249
00252
00263 void replaceObject(const QObject * obj);
00264
00267
00278 void replaceSlot( const char * slot);
00279
00280
00283
00297 void replaceReceiver(const QObject * obj, const char * slot);
00298
00301
00312 const Receiver & operator << (const Emitter & e) const;
00313
00316
00327 const Receiver & operator << (Qt::ConnectionType type) const;
00328
00329 };
00330
00331
00334
00346 #define EMITTER(x,y) Emitter(x,SIGNAL(y))
00347
00350
00362 #define RECEIVER(x,y) Receiver(x,SLOT(y))
00363 }
00364 #endif
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2010 Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.