ATLAS Offline Software
VP1Collection.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // //
7 // Implementation of class VP1Collection //
8 // //
9 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
10 // Initial version: June 2008 //
11 // //
13 
14 #include "VP1Base/VP1Collection.h"
15 #include "VP1Base/VP1Msg.h"
16 
17 
18 //____________________________________________________________________
20 public:
21  Imp() : persistIDProvided(false),
22  sectionProvided(false),
24  widgetsForGuiRowProvided(false) {}
25  mutable QByteArray persistID;
27  QString section;
28  QString sectionToolTip;
31  QList<QWidget*> widgetsForGuiRow;
33 };
34 
35 
36 //____________________________________________________________________
37 VP1Collection::VP1Collection(IVP1System * sys,const QString& helperClassName)
38  : VP1HelperClassBase(sys,helperClassName), m_d(new Imp)
39 {
40 }
41 
42 //____________________________________________________________________
44 {
45  delete m_d;
46 }
47 
48 //____________________________________________________________________
50 {
51  VP1Msg::messageDebug("VP1Collection::persistifiableID()");
52 
53  if (!m_d->persistIDProvided) {
54  m_d->persistIDProvided = true;
55  m_d->persistID = providePersistifiableID().toHex();//toHex() necessary for some unknown reason!
56  //Without it keys in maps are apparently considered similar! (Qt bug??)
57  }
58  return m_d->persistID;
59 }
60 
61 //____________________________________________________________________
62 QList<QWidget*> VP1Collection::widgetsForGuiRow() const
63 {
67  }
68  return m_d->widgetsForGuiRow;
69 }
70 
71 //____________________________________________________________________
72 QString VP1Collection::section() const
73 {
74  if (!m_d->sectionProvided) {
75  m_d->sectionProvided = true;
77  }
78  return m_d->section;
79 }
80 
81 //____________________________________________________________________
83 {
87  }
88  return m_d->sectionToolTip;
89 }
90 
91 //____________________________________________________________________
93 {
94  VP1Msg::messageDebug("VP1Collection::getStates() - start...");
95 
97  for (VP1Collection* col : cols) {
98  VP1Msg::messageDebug("inserting collection: " + col->section() );
99  states.insert(col->persistifiableID(),col->persistifiableState());
100  }
101 
102  VP1Msg::messageDebug("VP1Collection::getStates() - end.");
103 
104  return states;
105 }
106 
107 //____________________________________________________________________
108 void VP1Collection::applyStates(QList<VP1Collection*> cols, const VP1CollStates& states)
109 {
110  VP1Msg::messageDebug("VP1Collection::applyStates() - start...");
111  for (VP1Collection* col : cols)
112  if (states.contains(col->persistifiableID()))
113  col->setState(states.value(col->persistifiableID()));
114  VP1Msg::messageDebug("VP1Collection::applyStates() - end.");
115 }
116 
117 //____________________________________________________________________
119 {
120  VP1Msg::messageDebug("VP1Collection::updateStates() - start...");
121  QMapIterator<QByteArray,QByteArray> it(newInfo);
122  while (it.hasNext()) {
123  it.next();
124  state.insert(it.key(),it.value());
125  }
126  VP1Msg::messageDebug("VP1Collection::updateStates() - end.");
127 }
VP1CollStates
QMap< QByteArray, QByteArray > VP1CollStates
Definition: VP1Collection.h:27
VP1Collection::Imp::widgetsForGuiRow
QList< QWidget * > widgetsForGuiRow
Definition: VP1Collection.cxx:31
VP1Collection::provideWidgetsForGuiRow
virtual QList< QWidget * > provideWidgetsForGuiRow() const =0
VP1Msg.h
VP1Collection::Imp::sectionToolTip
QString sectionToolTip
Definition: VP1Collection.cxx:28
VP1Collection::Imp::persistID
QByteArray persistID
Definition: VP1Collection.cxx:25
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
VP1Collection::updateStates
static void updateStates(VP1CollStates &state, const VP1CollStates &newInfo)
Definition: VP1Collection.cxx:118
skel.it
it
Definition: skel.GENtoEVGEN.py:423
VP1Collection.h
VP1Collection::getStates
static VP1CollStates getStates(QList< VP1Collection * >)
Definition: VP1Collection.cxx:92
VP1Collection::Imp::section
QString section
Definition: VP1Collection.cxx:27
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
VP1Collection::Imp::sectionProvided
bool sectionProvided
Definition: VP1Collection.cxx:29
beamspotnt.cols
list cols
Definition: bin/beamspotnt.py:1114
VP1Collection::Imp
Definition: VP1Collection.cxx:19
IVP1System
Definition: IVP1System.h:36
VP1Collection::sectionToolTip
QString sectionToolTip() const
Definition: VP1Collection.cxx:82
VP1Collection::section
QString section() const
Definition: VP1Collection.cxx:72
urldecode::states
states
Definition: urldecode.h:39
VP1Collection::m_d
Imp * m_d
Definition: VP1Collection.h:59
VP1Collection::~VP1Collection
virtual ~VP1Collection()
Definition: VP1Collection.cxx:43
VP1Collection::persistifiableID
QByteArray persistifiableID() const
Definition: VP1Collection.cxx:49
VP1Collection::applyStates
static void applyStates(QList< VP1Collection * >, const VP1CollStates &)
Definition: VP1Collection.cxx:108
VP1Collection::VP1Collection
VP1Collection(IVP1System *sys=0, const QString &helperClassName="VP1Collection")
Definition: VP1Collection.cxx:37
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
VP1Collection
Definition: VP1Collection.h:31
VP1Collection::providePersistifiableID
virtual QByteArray providePersistifiableID() const =0
VP1Collection::widgetsForGuiRow
virtual QList< QWidget * > widgetsForGuiRow() const
Definition: VP1Collection.cxx:62
query_example.col
col
Definition: query_example.py:7
VP1Collection::Imp::widgetsForGuiRowProvided
bool widgetsForGuiRowProvided
Definition: VP1Collection.cxx:32
VP1Collection::provideSection
virtual QString provideSection() const =0
VP1Collection::Imp::sectionToolTipProvided
bool sectionToolTipProvided
Definition: VP1Collection.cxx:30
VP1Collection::Imp::persistIDProvided
bool persistIDProvided
Definition: VP1Collection.cxx:26
VP1Msg::messageDebug
static void messageDebug(const QString &)
Definition: VP1Msg.cxx:39
VP1Collection::provideSectionToolTip
virtual QString provideSectionToolTip() const
Definition: VP1Collection.h:53
VP1Collection::Imp::Imp
Imp()
Definition: VP1Collection.cxx:21