75 TClass *sender_class,
const char *signal,
76 TClass *receiver_class,
const char *slot);
101 template <
typename...
T>
void EmitVA(
const char *signal_name,
Int_t ,
const T&... params)
106 if (fSignalsBlocked || fgAllSignalsBlocked)
return;
120 TIter nextSigList(&classSigLists);
121 while ((sigList = (
TList*) nextSigList())) {
123 while ((connection = static_cast<TVirtualQConnection*>(nextcl()))) {
125 connection->
SetArgs(params...);
134 while (fListOfSignals && (connection = static_cast<TVirtualQConnection*>(next()))) {
136 connection->
SetArgs(params...);
164 template <
typename T>
void Emit(
const char *signal,
const T& arg) {
165 Int_t placeholder = 0;
166 EmitVA(signal, placeholder, arg);
176 const char *receiver_class,
182 const char *slot = 0);
185 const char *slot_name = 0);
188 const char *slot_name = 0);
197 {
Emit(
"Destroyed()"); }
199 {
Emit(
"ChangedBy(char*)", method); }
201 {
Emit(
"Message(char*)", msg); }
205 const char *receiver_class,
211 const char *receiver_class,
216 const char *signal = 0,
218 const char *slot = 0);
223 const char *slot = 0);
249 virtual void SetSender(
void *sender) { fSender = sender; }
282 #define ClassImpQ(name) \ Bool_t ConnectCINT(TQObject *sender, const char *signal, const char *slot)
Global function which simplifies making connection in interpreted ROOT session.
Bool_t AreSignalsBlocked() const
static Bool_t BlockAllSignals(Bool_t b)
Block or unblock all signals. Returns the previous block status.
TQObject()
TQObject Constructor.
virtual void * GetSender()
static Int_t CheckConnectArgs(TQObject *sender, TClass *sender_class, const char *signal, TClass *receiver_class, const char *slot)
Checking of consitency of sender/receiver methods/arguments.
virtual const char * GetSenderClassName() const
virtual void * GetSender()
R__EXTERN void * gTQSender
Bool_t BlockSignals(Bool_t b)
This is the ROOT implementation of the Qt object communication mechanism (see also http://www...
void EmitVA(const char *signal_name, Int_t, const T &... params)
Emit a signal with a varying number of arguments.
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
#define ClassDef(name, id)
void SetArgs(const T &... args)
Unpacks the template parameter type and sets arguments of integral and array (scalar) type...
TList * GetListOfClassSignals() const
Returns pointer to list of signals of this class.
void Emit(const char *signal)
Acitvate signal without args.
TList * fListOfConnections
list of signals from this object
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
void SetSenderClassName(const char *sclass="")
static Bool_t fgAllSignalsBlocked
flag used for suppression of signals
virtual const char * GetSenderClassName() const
TQObject & operator=(const TQObject &tqo)
virtual Int_t NumberOfSignals() const
Return number of signals for this object.
static Bool_t ConnectToClass(TQObject *sender, const char *signal, TClass *receiver_class, void *receiver, const char *slot)
Create connection between sender and receiver.
virtual Int_t NumberOfConnections() const
Return number of connections for this object.
The ROOT global object gROOT contains a list of all defined classes.
virtual ~TQObject()
TQObject Destructor.
Bool_t fSignalsBlocked
list of connections to this object
virtual void Message(const char *msg)
virtual Bool_t IsEmpty() const
static Bool_t AreAllSignalsBlocked()
Returns true if all signals are blocked.
virtual void Disconnected(const char *)
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
virtual Bool_t HasConnection(const char *signal_name) const
Return true if there is any object connected to this signal.
TList * GetListOfSignals() const
virtual void SetSender(void *sender)
virtual void ChangedBy(const char *method)
virtual void Connected(const char *)
static TString CompressName(const char *method_name)
Removes "const" words and blanks from full (with prototype) method name and resolve any typedefs in t...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Mediates the link between the signal and the slot.
virtual void LowPriority(const char *signal_name, const char *slot_name=0)
void CollectClassSignalLists(TList &list, TClass *cls)
Collect class signal lists from class cls and all its base-classes.
virtual void SendSignal()=0
virtual void HighPriority(const char *signal_name, const char *slot_name=0)
TList * GetListOfConnections() const