Belle II Software
release-05-01-25
BrowsableWrapper.cc
1
#include <display/BrowsableWrapper.h>
2
3
#include <framework/logging/Logger.h>
4
5
#include <TVirtualPad.h>
6
7
using namespace
Belle2
;
8
9
std::map<TVirtualPad*, std::string>
BrowsableWrapper::s_pads
;
10
11
void
BrowsableWrapper::Browse
(TBrowser* b)
12
{
13
if
(!
m_wrapped
) {
14
B2ERROR(
"Trying to browse invalid object!"
);
15
return
;
16
}
17
std::string name(
m_wrapped
->GetName());
18
s_pads
[gPad] = name;
19
gPad->Connect(
"Closed()"
,
"Belle2::BrowsableWrapper"
,
this
,
"padClosed()"
);
20
21
m_wrapped
->Browse(b);
22
}
23
24
void
BrowsableWrapper::padClosed
()
25
{
26
TVirtualPad* pad =
dynamic_cast<
TVirtualPad*
>
(
static_cast<
TQObject*
>
(gTQSender));
27
if
(!pad) {
28
B2ERROR(
"Sender is not a pad?"
);
29
return
;
30
}
31
32
B2WARNING(
"TODO remove - deleting pad"
);
33
s_pads
.erase(pad);
34
}
Belle2::BrowsableWrapper::s_pads
static std::map< TVirtualPad *, std::string > s_pads
TPad -> name of drawn object.
Definition:
BrowsableWrapper.h:47
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::BrowsableWrapper::padClosed
void padClosed()
Slot to remove associated pad from central map.
Definition:
BrowsableWrapper.cc:24
Belle2::BrowsableWrapper::m_wrapped
TObject * m_wrapped
wrapped object.
Definition:
BrowsableWrapper.h:46
Belle2::BrowsableWrapper::Browse
virtual void Browse(TBrowser *b)
Reimplementation to store additional info on current state.
Definition:
BrowsableWrapper.cc:11
display
src
BrowsableWrapper.cc
Generated on Fri Nov 5 2021 03:50:28 for Belle II Software by
1.8.17