See also

This is the ROOT implementation of the Qt object communication
mechanism (see also http://www.troll.no/qt/metaobjects.html)
Signals and slots are used for communication between objects.
When an object has changed in some way that might be interesting
for the outside world, it emits a signal to tell whoever is
listening. All slots that are connected to this signal will be
activated (called). It is even possible to connect a signal
directly to another signal (this will emit the second signal
immediately whenever the first is emitted.) There is no limitation
on the number of slots that can be connected to a signal.
The slots will be activated in the order they were connected
to the signal. This mechanism allows objects to be easily reused,
because the object that emits a signal does not need to know
to which objects the signals are connected.
Together, signals and slots make up a powerfull component
programming mechanism.
This implementation is provided by
Valeriy Onuchin (onuchin@sirius.ihep.su).

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.

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.

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.

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*)");
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.

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.

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);
- 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.

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.