6#include "ui_vp1bankscontroller.h"
11#include "GaudiKernel/IClassIDSvc.h"
12#include "GaudiKernel/ISvcLocator.h"
21 Ui::VP1BanksSystemControllerForm
ui{};
36 theclass->messageVerbose(
"emitting entriesChanged(..) with "+
str(keys.count())+
" entries");
46 "System for browsing the contents of StoreGate",
47 "Joe Boudreau <boudreau@pitt.edu> (original), Thomas.Kittelmann@cern.ch (VP1 implementation)"),
50 m_d->ui.radioButton_store_event = 0;
51 m_d->ui.radioButton_store_detector = 0;
52 m_d->ui.pushButton_refresh = 0;
68 if (
clidSvc->getTypeNameOfID(
id, n).isFailure())
76 return ui.radioButton_store_event && !
ui.radioButton_store_event->isChecked();
83 QWidget * controller =
new QWidget;
84 m_d->ui.setupUi(controller);
85 connect(
m_d->ui.radioButton_store_event,SIGNAL(toggled(
bool)),
this,SLOT(
refreshList()));
86 connect(
m_d->ui.pushButton_refresh,SIGNAL(clicked()),
this,SLOT(
refreshList()));
91 message(
"Error: Got NULL pointer to the service locator!");
95 m_d->clidSvc = svcLoc->service(
"ClassIDSvc" );
97 message(
"Error: Could not retrieve ClassIDSvc!!");
107 m_d->allowRefresh =
true;
114 if (!
m_d->allowRefresh)
116 messageVerbose(
"Refreshing list for "+QString(
m_d->useDetStore()?
"detector":
"event")+
" store");
118 QStringList entry_key;
119 QStringList entry_type;
120 QStringList entry_id;
126 QStringList keys = sgcont.
getKeys(
id);
127 if (!keys.isEmpty()) {
128 QString typeName =
m_d->idToName(
id);
129 QString idstr = QString::number(
id);
130 for (
const QString& key : keys) {
132 entry_type << typeName;
139 m_d->emitIfChanged(entry_key,entry_type,entry_id);
145 m_d->allowRefresh =
false;
146 m_d->emitIfChanged(QStringList(),QStringList(),QStringList());
156 serialise.save(
m_d->ui.radioButton_store_event,
m_d->ui.radioButton_store_detector);
159 return serialise.result();
167 if (
state.version()!=0) {
168 message(
"Warning: State data in .vp1 file is in wrong format - ignoring!");
173 state.restore(
m_d->ui.radioButton_store_event,
m_d->ui.radioButton_store_detector);
uint32_t CLID
The Class ID type.
static const std::vector< std::string > types
void messageVerbose(const QString &) const
virtual void restoreFromState(QByteArray)
QWidget * controllerWidget()
IVP1System(const QString &name, const QString &information, const QString &contact_info)
void message(const QString &) const
void registerController(QWidget *)
ISvcLocator * serviceLocator() const
virtual QByteArray saveState()
The Athena Transient Store API.
QStringList lastEmitted_keys
QStringList lastEmitted_types
QStringList lastEmitted_ids
QString idToName(const CLID &) const
VP1BanksSystem * theclass
Ui::VP1BanksSystemControllerForm ui
void emitIfChanged(const QStringList &keys, const QStringList &types, const QStringList &ids)
SmartIF< IClassIDSvc > clidSvc
void refresh(StoreGateSvc *storegate)
virtual ~VP1BanksSystem()
void create(StoreGateSvc *detstore)
void restoreFromState(QByteArray)
QStringList getKeys() const
QList< CLID > getPossibleCLIDs() const