Test signals from TEveSelection class.
class SigTestSpitter {
public:
{
fSel->
Connect(
"SelectionAdded(TEveElement*)",
"SigTestSpitter",
this,
"Added(TEveElement*)");
fSel->
Connect(
"SelectionRemoved(TEveElement*)",
"SigTestSpitter",
this,
"Removed(TEveElement*)");
fSel->
Connect(
"SelectionCleared()",
"SigTestSpitter",
this,
"Cleared()");
}
~SigTestSpitter()
{
fSel->
Disconnect(
"SelectionAdded(TEveElement*)",
this,
"Added(TEveElement*)");
fSel->
Disconnect(
"SelectionRemoved(TEveElement*)",
this,
"Removed(TEveElement*)");
fSel->
Disconnect(
"SelectionCleared()",
this,
"Cleared()");
}
void Added(TEveElement *el)
{
printf(
"%s Added 0x%lx '%s'\n", fPrefix.
Data(), (
ULong_t)el, el ? el->GetElementName() :
"");
}
void Removed(TEveElement *el)
{
printf(
"%s Removed 0x%lx '%s'\n", fPrefix.
Data(), (
ULong_t)el, el ? el->GetElementName() :
"");
}
void Cleared() { printf(
"%s Cleared'\n", fPrefix.
Data()); }
};
void selection_sigs()
{
new SigTestSpitter(
gEve->GetSelection(),
"Selection");
new SigTestSpitter(
gEve->GetHighlight(),
"Highlight");
}
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
Make sure there is a SINGLE running TEveSelection for each selection type (select/highlight).
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.
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
const char * Data() const
- Author
- Matevz Tadel
Definition in file selection_sigs.C.