Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TQObjSender Class Reference

Definition at line 233 of file TQObject.h.

Public Member Functions

 TQObjSender ()
virtual ~TQObjSender ()
Bool_t AreSignalsBlocked () const
Bool_t BlockSignals (Bool_t b)
virtual void ChangedBy (const char *method)
void CollectClassSignalLists (TList &list, TClass *cls)
 Collect class signal lists from class cls and all its base-classes.
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.
virtual void Connected (const char *)
virtual void Destroyed ()
Bool_t Disconnect (const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
 Disconnects signal of this object from slot of receiver.
virtual void Disconnected (const char *)
void Emit (const char *signal)
 Activate signal without args.
template<typename T>
void Emit (const char *signal, const T &arg)
 Activate signal with single parameter.
template<typename... T>
void EmitVA (const char *signal_name, Int_t, const T &... params)
 Emit a signal with a varying number of arguments.
TListGetListOfClassSignals () const
 Returns pointer to list of signals of this class.
TListGetListOfConnections () const
TListGetListOfSignals () const
virtual Bool_t HasConnection (const char *signal_name) const
 Return true if there is any object connected to this signal.
virtual void HighPriority (const char *signal_name, const char *slot_name=nullptr)
TClassIsA () const override
virtual void LowPriority (const char *signal_name, const char *slot_name=nullptr)
virtual void Message (const char *msg)
virtual Int_t NumberOfConnections () const
 Return number of connections for this object.
virtual Int_t NumberOfSignals () const
 Return number of signals for this object.
virtual void SetSender (void *sender)
void SetSenderClassName (const char *sclass="")
void Streamer (TBuffer &) override
 Stream an object of class TQObject.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Static Public Member Functions

static Bool_t AreAllSignalsBlocked ()
 Returns true if all signals are blocked.
static Bool_t BlockAllSignals (Bool_t b)
 Block or unblock all signals. Returns the previous block status.
static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static Bool_t Connect (const char *sender_class, const char *signal, const char *receiver_class, void *receiver, const char *slot)
 This method allows to make a connection from any object of the same class to a single slot.
static Bool_t Connect (TQObject *sender, const char *signal, const char *receiver_class, void *receiver, const char *slot)
 Create connection between sender and receiver.
static const char * DeclFileName ()
static Bool_t Disconnect (const char *class_name, const char *signal, void *receiver=nullptr, const char *slot=nullptr)
 Disconnects "class signal".
static Bool_t Disconnect (TQObject *sender, const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
 Disconnects signal in object sender from slot_method in object receiver.

Protected Member Functions

void * GetSender () override
const char * GetSenderClassName () const override

Static Protected Member Functions

static Int_t CheckConnectArgs (TQObject *sender, TClass *sender_class, const char *signal, TClass *receiver_class, const char *slot)
 Checking of consistency of sender/receiver methods/arguments.
static TString CompressName (const char *method_name)
 Removes "const" words and blanks from full (with prototype) method name and resolve any typedefs in the method signature.
static Bool_t ConnectToClass (const char *sender_class, const char *signal, TClass *receiver_class, void *receiver, const char *slot)
 This method allows to make connection from any object of the same class to the receiver object.
static Bool_t ConnectToClass (TQObject *sender, const char *signal, TClass *receiver_class, void *receiver, const char *slot)
 Create connection between sender and receiver.

Protected Attributes

TListfListOfConnections
 ! list of connections to this object
TListfListOfSignals
 ! list of signals from this object
void * fSender
TString fSenderClass
Bool_t fSignalsBlocked
 ! flag used for suppression of signals

Static Protected Attributes

static Bool_t fgAllSignalsBlocked = kFALSE

Private Member Functions

 TQObjSender (const TQObjSender &)=delete
TQObjSenderoperator= (const TQObjSender &)=delete

#include <TQObject.h>

Inheritance diagram for TQObjSender:
TQObject

Constructor & Destructor Documentation

◆ TQObjSender() [1/2]

TQObjSender::TQObjSender ( const TQObjSender & )
privatedelete

◆ TQObjSender() [2/2]

TQObjSender::TQObjSender ( )
inline

Definition at line 247 of file TQObject.h.

◆ ~TQObjSender()

virtual TQObjSender::~TQObjSender ( )
inlinevirtual

Definition at line 248 of file TQObject.h.

Member Function Documentation

◆ AreAllSignalsBlocked()

Bool_t TQObject::AreAllSignalsBlocked ( )
staticinherited

Returns true if all signals are blocked.

Definition at line 1045 of file TQObject.cxx.

◆ AreSignalsBlocked()

Bool_t TQObject::AreSignalsBlocked ( ) const
inlineinherited

Definition at line 91 of file TQObject.h.

◆ BlockAllSignals()

Bool_t TQObject::BlockAllSignals ( Bool_t b)
staticinherited

Block or unblock all signals. Returns the previous block status.

Definition at line 1053 of file TQObject.cxx.

◆ BlockSignals()

Bool_t TQObject::BlockSignals ( Bool_t b)
inlineinherited

Definition at line 92 of file TQObject.h.

◆ ChangedBy()

virtual void TQObject::ChangedBy ( const char * method)
inlinevirtualinherited

Definition at line 199 of file TQObject.h.

◆ CheckConnectArgs()

Int_t TQObject::CheckConnectArgs ( TQObject * sender,
TClass * sender_class,
const char * signal,
TClass * receiver_class,
const char * slot )
staticprotectedinherited

Checking of consistency of sender/receiver methods/arguments.

Returns -1 on error, otherwise number or arguments of signal function. Static method.

Definition at line 175 of file TQObject.cxx.

◆ Class()

TClass * TQObjSender::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * TQObjSender::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TQObjSender::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 253 of file TQObject.h.

◆ CollectClassSignalLists()

void TQObject::CollectClassSignalLists ( TList & list,
TClass * cls )
inherited

Collect class signal lists from class cls and all its base-classes.

The recursive traversal is not performed for classes not deriving from TQClass.

Definition at line 447 of file TQObject.cxx.

◆ CompressName()

TString TQObject::CompressName ( const char * method_name)
staticprotectedinherited

Removes "const" words and blanks from full (with prototype) method name and resolve any typedefs in the method signature.

If a null or empty string is passed in, an empty string is returned.

Example:

CompressName(" Draw(const char *, const char *,
Option_t * , Int_t , Int_t)");
static TString CompressName(const char *method_name)
Removes "const" words and blanks from full (with prototype) method name and resolve any typedefs in t...
Definition TQObject.cxx:94

returns the string "Draw(char*,char*,char*,int,int)".

Definition at line 94 of file TQObject.cxx.

◆ Connect() [1/3]

Bool_t TQObject::Connect ( const char * class_name,
const char * signal,
const char * cl,
void * receiver,
const char * slot )
staticinherited

This method allows to make a connection from any object of the same class to a single slot.

Signal and slot string must have a form: "Draw(char*, Option_t* ,Int_t)" All blanks and "const" words will be removed,

cl != 0 - class name, it can be class with or without dictionary, e.g interpreted class. Example:

TGButton *myButton;
TH2F *myHist;
TQObject::Connect("TGButton", "Clicked()",
"TH2F", myHist, "Draw(Option_t*)");
A button abstract base class.
Definition TGButton.h:68
2-D histogram with a float per channel (see TH1 documentation)
Definition TH2.h:345
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.
Definition TQObject.cxx:865

cl == 0 - corresponds to function (interpereted or global) the name of the function is defined by the slot string, parameter receiver should be 0. Example:

TGButton *myButton;
TH2F *myHist;
TQObject::Connect("TGButton", "Clicked()",
0, 0, "hsimple()");

Warning:

If receiver class not derived from TQObject and going to be deleted, disconnect all connections to this receiver. In case of class derived from TQObject it is done automatically.

Definition at line 791 of file TQObject.cxx.

◆ Connect() [2/3]

Bool_t TQObject::Connect ( const char * signal,
const char * receiver_class,
void * receiver,
const char * slot )
inherited

Non-static method is used to connect from the signal of this object to the receiver slot.

Warning! No check on consistency of sender/receiver classes/methods.

This method makes possible to have connection/signals from interpreted class. See also RQ_OBJECT.h.

Definition at line 865 of file TQObject.cxx.

◆ Connect() [3/3]

Bool_t TQObject::Connect ( TQObject * sender,
const char * signal,
const char * cl,
void * receiver,
const char * slot )
staticinherited

Create connection between sender and receiver.

Signal and slot string must have a form: "Draw(char*, Option_t* ,Int_t)" All blanks and "const" words will be removed,

cl != 0 - class name, it can be class with or without dictionary, e.g interpreted class. Example:

TGButton *myButton;
TH2F *myHist;
TQObject::Connect(myButton,"Clicked()",
"TH2F", myHist,"Draw(Option_t*)");

cl == 0 - corresponds to function (interpereted or global) the name of the function is defined by the slot string, parameter receiver should be 0. Example:

TGButton *myButton;
TH2F *myHist;
TQObject::Connect(myButton,"Clicked()",
0, 0,"hsimple()");

Warning: If receiver is class not derived from TQObject and going to be deleted, disconnect all connections to this receiver. In case of class derived from TQObject it is done automatically.

Definition at line 699 of file TQObject.cxx.

◆ Connected()

virtual void TQObject::Connected ( const char * )
inlinevirtualinherited

Definition at line 194 of file TQObject.h.

◆ ConnectToClass() [1/2]

Bool_t TQObject::ConnectToClass ( const char * class_name,
const char * signal,
TClass * cl,
void * receiver,
const char * slot )
staticprotectedinherited

This method allows to make connection from any object of the same class to the receiver object.

Receiver class needs to have a dictionary.

Definition at line 615 of file TQObject.cxx.

◆ ConnectToClass() [2/2]

Bool_t TQObject::ConnectToClass ( TQObject * sender,
const char * signal,
TClass * cl,
void * receiver,
const char * slot )
staticprotectedinherited

Create connection between sender and receiver.

Receiver class needs to have a dictionary.

Definition at line 559 of file TQObject.cxx.

◆ DeclFileName()

const char * TQObjSender::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 253 of file TQObject.h.

◆ Destroyed()

virtual void TQObject::Destroyed ( )
inlinevirtualinherited

Reimplemented in TQConnection.

Definition at line 197 of file TQObject.h.

◆ Disconnect() [1/3]

Bool_t TQObject::Disconnect ( const char * class_name,
const char * signal,
void * receiver = nullptr,
const char * slot = nullptr )
staticinherited

Disconnects "class signal".

The class is defined by class_name. See also Connect(class_name,signal,receiver,slot).

Definition at line 1004 of file TQObject.cxx.

◆ Disconnect() [2/3]

Bool_t TQObject::Disconnect ( const char * signal = nullptr,
void * receiver = nullptr,
const char * slot = nullptr )
inherited

Disconnects signal of this object from slot of receiver.

Equivalent to Disconnect(this, signal, receiver, slot)

Definition at line 1023 of file TQObject.cxx.

◆ Disconnect() [3/3]

Bool_t TQObject::Disconnect ( TQObject * sender,
const char * signal = nullptr,
void * receiver = nullptr,
const char * slot = nullptr )
staticinherited

Disconnects signal in object sender from slot_method in object receiver.

For objects derived from TQObject signal-slot connection is removed when either of the objects involved are destroyed.

Disconnect() is typically used in three ways, as the following examples shows:

  • Disconnect everything connected to an object's signals:
    Disconnect(myObject);
    Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
    Disconnects signal of this object from slot of receiver.
  • Disconnect everything connected to a signal:
    Disconnect(myObject, "mySignal()");
  • Disconnect a specific receiver:
    Disconnect(myObject, 0, myReceiver, 0);

0 may be used as a wildcard in three of the four arguments, meaning "any signal", "any receiving object" or "any slot in the receiving object", respectively.

The sender has no default and may never be 0 (you cannot disconnect signals from more than one object).

If signal is 0, it disconnects receiver and slot_method from any signal. If not, only the specified signal is disconnected.

If receiver is 0, it disconnects anything connected to signal. If not, slots in objects other than receiver are not disconnected

If slot_method is 0, it disconnects anything that is connected to receiver. If not, only slots named slot_method will be disconnected, and all other slots are left alone. The slot_method must be 0 if receiver is left out, so you cannot disconnect a specifically-named slot on all objects.

Definition at line 956 of file TQObject.cxx.

◆ Disconnected()

virtual void TQObject::Disconnected ( const char * )
inlinevirtualinherited

Definition at line 195 of file TQObject.h.

◆ Emit() [1/2]

void TQObject::Emit ( const char * signal)
inlineinherited

Activate signal without args.

Example: theButton->Emit("Clicked()");

Definition at line 174 of file TQObject.h.

◆ Emit() [2/2]

template<typename T>
void TQObject::Emit ( const char * signal,
const T & arg )
inlineinherited

Activate signal with single parameter.

Example:

theButton->Emit("Progress(Long64_t)",processed)

If we call Emit with an array of the parameters, they should be converted to Longptr_t type. Example:

TQObject *processor; // data processor
TH1F *hist; // filled with processor results
processor->Connect("Evaluated(Float_t,Float_t)",
"TH1F",hist,"Fill12(Axis_t,Axis_t)");
Longptr_t args[2];
args[0] = (Longptr_t)processor->GetValue(1);
args[1] = (Longptr_t)processor->GetValue(2);
processor->Emit("Evaluated(Float_t,Float_t)",args);
long Longptr_t
Integer large enough to hold a pointer (platform-dependent).
Definition RtypesCore.h:89
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:878
TQObject(const TQObject &)=delete
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition TQObject.h:164

Definition at line 164 of file TQObject.h.

◆ EmitVA()

template<typename... T>
void TQObject::EmitVA ( const char * signal_name,
Int_t ,
const T &... params )
inlineinherited

Emit a signal with a varying number of arguments.

Definition at line 100 of file TQObject.h.

◆ GetListOfClassSignals()

TList * TQObject::GetListOfClassSignals ( ) const
inherited

Returns pointer to list of signals of this class.

Definition at line 431 of file TQObject.cxx.

◆ GetListOfConnections()

TList * TQObject::GetListOfConnections ( ) const
inlineinherited

Definition at line 89 of file TQObject.h.

◆ GetListOfSignals()

TList * TQObject::GetListOfSignals ( ) const
inlineinherited

Definition at line 88 of file TQObject.h.

◆ GetSender()

void * TQObjSender::GetSender ( )
inlineoverrideprotectedvirtual

Reimplemented from TQObject.

Definition at line 239 of file TQObject.h.

◆ GetSenderClassName()

const char * TQObjSender::GetSenderClassName ( ) const
inlineoverrideprotectedvirtual

Reimplemented from TQObject.

Definition at line 240 of file TQObject.h.

◆ HasConnection()

Bool_t TQObject::HasConnection ( const char * signal_name) const
virtualinherited

Return true if there is any object connected to this signal.

Only checks for object signals.

Definition at line 523 of file TQObject.cxx.

◆ HighPriority()

void TQObject::HighPriority ( const char * signal_name,
const char * slot_name = nullptr )
virtualinherited
  1. If slot_name = 0 => makes signal defined by the signal_name to be the first in the fListOfSignals, this decreases the time for lookup.
  2. If slot_name != 0 => makes slot defined by the slot_name to be executed first when signal_name is emitted. Signal name is not compressed.

Definition at line 473 of file TQObject.cxx.

◆ IsA()

TClass * TQObjSender::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TQObject.

Definition at line 253 of file TQObject.h.

◆ LowPriority()

void TQObject::LowPriority ( const char * signal_name,
const char * slot_name = nullptr )
virtualinherited
  1. If slot_name = 0 => makes signal defined by the signal_name to be the last in the fListOfSignals, this increase the time for lookup.
  2. If slot_name != 0 => makes slot defined by the slot_name to be executed last when signal_name is emitted. Signal name is not compressed.

Definition at line 500 of file TQObject.cxx.

◆ Message()

virtual void TQObject::Message ( const char * msg)
inlinevirtualinherited

Reimplemented in TTreeViewer.

Definition at line 201 of file TQObject.h.

◆ NumberOfConnections()

Int_t TQObject::NumberOfConnections ( ) const
virtualinherited

Return number of connections for this object.

Definition at line 547 of file TQObject.cxx.

◆ NumberOfSignals()

Int_t TQObject::NumberOfSignals ( ) const
virtualinherited

Return number of signals for this object.

Only checks for object signals.

Definition at line 537 of file TQObject.cxx.

◆ operator=()

TQObjSender & TQObjSender::operator= ( const TQObjSender & )
privatedelete

◆ SetSender()

virtual void TQObjSender::SetSender ( void * sender)
inlinevirtual

Definition at line 250 of file TQObject.h.

◆ SetSenderClassName()

void TQObjSender::SetSenderClassName ( const char * sclass = "")
inline

Definition at line 251 of file TQObject.h.

◆ Streamer()

void TQObjSender::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class TQObject.

Reimplemented from TQObject.

◆ StreamerNVirtual()

void TQObjSender::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 253 of file TQObject.h.

Member Data Documentation

◆ fgAllSignalsBlocked

Bool_t TQObject::fgAllSignalsBlocked = kFALSE
staticprotectedinherited

Definition at line 55 of file TQObject.h.

◆ fListOfConnections

TList* TQObject::fListOfConnections
protectedinherited

! list of connections to this object

Definition at line 52 of file TQObject.h.

◆ fListOfSignals

TList* TQObject::fListOfSignals
protectedinherited

! list of signals from this object

Definition at line 51 of file TQObject.h.

◆ fSender

void* TQObjSender::fSender
protected

Definition at line 236 of file TQObject.h.

◆ fSenderClass

TString TQObjSender::fSenderClass
protected

Definition at line 237 of file TQObject.h.

◆ fSignalsBlocked

Bool_t TQObject::fSignalsBlocked
protectedinherited

! flag used for suppression of signals

Definition at line 53 of file TQObject.h.


The documentation for this class was generated from the following file: