Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
selection_sigs.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_eve
3/// Test signals from TEveSelection class.
4///
5/// \macro_code
6///
7/// \author Matevz Tadel
8
9#include "TEveSelection.h" // To enforce auto-loading of libEve.
10
11class SigTestSpitter {
12 TEveSelection *fSel;
13 TString fPrefix;
14
15public:
16 SigTestSpitter(TEveSelection *sel, const TString &prefix) : fSel(sel), fPrefix(prefix)
17 {
18 fSel->Connect("SelectionAdded(TEveElement*)", "SigTestSpitter", this, "Added(TEveElement*)");
19 fSel->Connect("SelectionRemoved(TEveElement*)", "SigTestSpitter", this, "Removed(TEveElement*)");
20 fSel->Connect("SelectionCleared()", "SigTestSpitter", this, "Cleared()");
21 }
23 {
24 fSel->Disconnect("SelectionAdded(TEveElement*)", this, "Added(TEveElement*)");
25 fSel->Disconnect("SelectionRemoved(TEveElement*)", this, "Removed(TEveElement*)");
26 fSel->Disconnect("SelectionCleared()", this, "Cleared()");
27 }
28 // ----------------------------------------------------------------
29 void Added(TEveElement *el)
30 {
31 printf("%s Added 0x%lx '%s'\n", fPrefix.Data(), (ULong_t)el, el ? el->GetElementName() : "");
32 }
33 void Removed(TEveElement *el)
34 {
35 printf("%s Removed 0x%lx '%s'\n", fPrefix.Data(), (ULong_t)el, el ? el->GetElementName() : "");
36 }
37 void Cleared() { printf("%s Cleared'\n", fPrefix.Data()); }
38};
39
40void selection_sigs()
41{
43
44 new SigTestSpitter(gEve->GetSelection(), "Selection");
45 new SigTestSpitter(gEve->GetHighlight(), "Highlight");
46}
unsigned long ULong_t
Definition RtypesCore.h:55
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TEveManager * gEve
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
TEveSelection * GetSelection() const
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
TEveSelection * GetHighlight() const
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.
Definition TQObject.cxx:869
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376