ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Base
src
VP1Collection.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 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
//____________________________________________________________________
19
class
VP1Collection::Imp
{
20
public
:
21
Imp
() :
persistIDProvided
(false),
22
sectionProvided
(false),
23
sectionToolTipProvided
(false),
24
widgetsForGuiRowProvided
(false) {}
25
mutable
QByteArray
persistID
;
26
bool
persistIDProvided
;
27
QString
section
;
28
QString
sectionToolTip
;
29
bool
sectionProvided
;
30
bool
sectionToolTipProvided
;
31
QList<QWidget*>
widgetsForGuiRow
;
32
bool
widgetsForGuiRowProvided
;
33
};
34
35
36
//____________________________________________________________________
37
VP1Collection::VP1Collection
(
IVP1System
* sys,
const
QString&
helperClassName
)
38
:
VP1HelperClassBase
(sys,
helperClassName
),
m_d
(new
Imp
)
39
{
40
}
41
42
//____________________________________________________________________
43
VP1Collection::~VP1Collection
()
44
{
45
delete
m_d
;
46
}
47
48
//____________________________________________________________________
49
QByteArray
VP1Collection::persistifiableID
()
const
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
{
64
if
(!
m_d
->widgetsForGuiRowProvided) {
65
m_d
->widgetsForGuiRowProvided =
true
;
66
m_d
->widgetsForGuiRow =
provideWidgetsForGuiRow
();
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
;
76
m_d
->section =
provideSection
();
77
}
78
return
m_d
->section;
79
}
80
81
//____________________________________________________________________
82
QString
VP1Collection::sectionToolTip
()
const
83
{
84
if
(!
m_d
->sectionToolTipProvided) {
85
m_d
->sectionToolTipProvided =
true
;
86
m_d
->sectionToolTip =
provideSectionToolTip
();
87
}
88
return
m_d
->sectionToolTip;
89
}
90
91
//____________________________________________________________________
92
VP1CollStates
VP1Collection::getStates
(
const
QList<VP1Collection*>& cols)
93
{
94
VP1Msg::messageDebug
(
"VP1Collection::getStates() - start..."
);
95
96
VP1CollStates
states;
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
(
const
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
//____________________________________________________________________
118
void
VP1Collection::updateStates
(
VP1CollStates
& state,
const
VP1CollStates
& newInfo)
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
}
VP1Collection.h
VP1CollStates
QMap< QByteArray, QByteArray > VP1CollStates
Definition
VP1Collection.h:29
VP1Msg.h
IVP1System
Definition
IVP1System.h:36
VP1Collection::Imp
Definition
VP1Collection.cxx:19
VP1Collection::Imp::section
QString section
Definition
VP1Collection.cxx:27
VP1Collection::Imp::sectionToolTip
QString sectionToolTip
Definition
VP1Collection.cxx:28
VP1Collection::Imp::persistID
QByteArray persistID
Definition
VP1Collection.cxx:25
VP1Collection::Imp::persistIDProvided
bool persistIDProvided
Definition
VP1Collection.cxx:26
VP1Collection::Imp::widgetsForGuiRowProvided
bool widgetsForGuiRowProvided
Definition
VP1Collection.cxx:32
VP1Collection::Imp::sectionToolTipProvided
bool sectionToolTipProvided
Definition
VP1Collection.cxx:30
VP1Collection::Imp::sectionProvided
bool sectionProvided
Definition
VP1Collection.cxx:29
VP1Collection::Imp::widgetsForGuiRow
QList< QWidget * > widgetsForGuiRow
Definition
VP1Collection.cxx:31
VP1Collection::Imp::Imp
Imp()
Definition
VP1Collection.cxx:21
VP1Collection::provideSectionToolTip
virtual QString provideSectionToolTip() const
Definition
VP1Collection.h:53
VP1Collection::~VP1Collection
virtual ~VP1Collection()
Definition
VP1Collection.cxx:43
VP1Collection::m_d
Imp * m_d
Definition
VP1Collection.h:60
VP1Collection::VP1Collection
VP1Collection(IVP1System *sys=0, const QString &helperClassName="VP1Collection")
Definition
VP1Collection.cxx:37
VP1Collection::section
QString section() const
Definition
VP1Collection.cxx:72
VP1Collection::updateStates
static void updateStates(VP1CollStates &state, const VP1CollStates &newInfo)
Definition
VP1Collection.cxx:118
VP1Collection::applyStates
static void applyStates(const QList< VP1Collection * > &, const VP1CollStates &)
Definition
VP1Collection.cxx:108
VP1Collection::sectionToolTip
QString sectionToolTip() const
Definition
VP1Collection.cxx:82
VP1Collection::provideSection
virtual QString provideSection() const =0
VP1Collection::providePersistifiableID
virtual QByteArray providePersistifiableID() const =0
VP1Collection::persistifiableID
QByteArray persistifiableID() const
Definition
VP1Collection.cxx:49
VP1Collection::provideWidgetsForGuiRow
virtual QList< QWidget * > provideWidgetsForGuiRow() const =0
VP1Collection::getStates
static VP1CollStates getStates(const QList< VP1Collection * > &)
Definition
VP1Collection.cxx:92
VP1Collection::widgetsForGuiRow
virtual QList< QWidget * > widgetsForGuiRow() const
Definition
VP1Collection.cxx:62
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Definition
VP1HelperClassBase.cxx:28
VP1HelperClassBase::helperClassName
const QString & helperClassName() const
Definition
VP1HelperClassBase.h:51
VP1Msg::messageDebug
static void messageDebug(const QString &)
Definition
VP1Msg.cxx:39
Generated on
for ATLAS Offline Software by
1.17.0