ATLAS Offline Software
VP1Deserialise.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Implementation of class VP1Deserialise //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: June 2008 //
12 // //
14 
15 #include "VP1Base/VP1Deserialise.h"
24 //#include "VP1AODSystems/JetCollectionSettingsButton.h"
25 
26 #include <Inventor/nodes/SoMaterial.h>
27 
28 #include <QSet>
29 #include <QBuffer>
30 #include <QByteArray>
31 #include <QDataStream>
32 
33 #include <QCheckBox>
34 #include <QGroupBox>
35 #include <QComboBox>
36 #include <QLineEdit>
37 #include <QDoubleSpinBox>
38 #include <QSpinBox>
39 #include <QSlider>
40 #include <QToolBox>
41 #include <QRadioButton>
42 
43 //____________________________________________________________________
45 public:
48  QByteArray byteArray;
49  QBuffer * buffer;
50  QDataStream * state;
52  qint32 version;
53 
54  QSet<QWidget*> handledWidgets;
55  QSet<QWidget*> ignoredWidgets;
56 
58  void block(QWidget*w) {
59  assert(!widgetNeedingUnblock);
60  if (w&&!w->signalsBlocked()) {
61  w->blockSignals(true);
63  }
64  }
65  void unblock() {
67  widgetNeedingUnblock->blockSignals(false);
69  }
70  }
71 
72  void handle(QWidget*w) {
73  if (!w)
74  return;
75  if (handledWidgets.contains(w))
76  theclass->message("ERROR: Handled widget more than once: Type="
77  +QString(w->metaObject()->className())
78  +", name="+w->objectName());
79  handledWidgets.insert(w);
80  }
81  void handle(const QWidget*w) { handle((QWidget*)(w)); }
82  bool expectsPersistification(QWidget*w);
83 
84  static unsigned numberOfInstantiations;
85 };
86 
88 
89 //____________________________________________________________________
91 {
93 }
94 
95 //____________________________________________________________________
97 {
99 }
100 
101 //____________________________________________________________________
103  : VP1HelperClassBase(sys,"VP1Deserialise"), m_d(new Imp(this))
104 {
106 
107  m_d->byteArray = ba;
108  m_d->buffer = new QBuffer(&(m_d->byteArray));
109  if (!m_d->buffer->open(QIODevice::ReadOnly)) {
110  delete m_d->buffer;
111  m_d->buffer = 0;
112  m_d->version = -1;
113  //Fixme: ensure that other methods do not do anything (or are not called!)
114  //Ensure that we are at end of stream when finished - and print versions (data+preferred).
115  } else {
116  m_d->state = new QDataStream(m_d->buffer);
117  m_d->version = restoreInt();
118  }
119 }
120 
121 //____________________________________________________________________
123 {
124  if (!m_d->checkedUnused)
125  message("WARNING: warnUnrestored(..) was never called!");
126  if (!atEnd())
127  message("Destructor WARNING: Buffer not at end!");
128  m_d->buffer->close();
129  delete m_d->state;
130  m_d->state = 0;
131  delete m_d->buffer;
132  m_d->buffer = 0;
133  delete m_d;
134 }
135 
136 //____________________________________________________________________
138 {
139  return m_d->buffer->atEnd();
140 }
141 
142 //____________________________________________________________________
144 {
145  return m_d->version;
146 }
147 
148 //____________________________________________________________________
149 QDataStream * VP1Deserialise::stream()
150 {
151  return m_d->state;
152 }
153 
154 //____________________________________________________________________
155 void VP1Deserialise::restore( SoMaterial* m )
156 {
157  if(VP1Msg::debug()){
158  messageDebug("VP1Deserialise::restore(SoMaterial)");
159  }
160  QByteArray ba(restoreByteArray());
161  if (!m||ba.isEmpty())
162  return;
164 }
165 
166 //____________________________________________________________________
168 {
169  if(VP1Msg::debug()){
170  messageDebug("VP1Deserialise::restore(VP1MaterialButton)");
171  }
172  m_d->handle(mb);
173  SoMaterial * m(0);
174  QList<SoMaterial*> mats = mb ? mb->handledMaterials() : QList<SoMaterial*>();
175  bool tempmat = mats.isEmpty() || !mats.at(0);
176  m = tempmat ? new SoMaterial : mats.at(0);
177  m->ref();
178  restore(m);
179  if (mb) {
180  m_d->block(mb);
181  mb->copyValuesFromMaterial(m);
182  m_d->unblock();
183  }
184  if (tempmat)
185  m->unref();
186  else
187  m->unrefNoDelete();
188 }
189 
190 //____________________________________________________________________
192 {
193  QColor c;
194  (*(m_d->state)) >> c;
195  if(VP1Msg::debug()){
196  messageDebug("VP1Deserialise::restore(QColor) - name: " + c.name());
197  }
198  if (VP1Msg::verbose())
199  messageVerbose("Restoring color "+str(c));
200  return c;
201 }
202 
203 //____________________________________________________________________
205 {
206  if(VP1Msg::debug()){
207  messageDebug("VP1Deserialise::restore(VP1ColorSelectButton) - name: " + cb->objectName());
208  }
209  m_d->handle(cb);
210  QColor c = restoreColor();
211  if (c.isValid()&&cb&&cb->color()!=c) {
212  m_d->block(cb);
213  cb->setColor(c);
214  m_d->unblock();
215  }
216 }
217 
218 //____________________________________________________________________
220 {
221  if(VP1Msg::debug()){
222  messageDebug("VP1Deserialise::restore(PhiSectionWidget) - name: " + phi->objectName());
223  }
224  m_d->handle(phi);
225  QByteArray ba(restoreByteArray());
226  if (phi&&ba != QByteArray()) {
227  m_d->block(phi);
228  phi->setState(ba);
229  m_d->unblock();
230  }
231 }
232 
233 //____________________________________________________________________
235 {
236  QByteArray ba;
237  (*(m_d->state)) >> ba;
238  if (VP1Msg::verbose()){
239  messageVerbose("Restoring byte array (length = "+QString::number(ba.count())+")");
240  }
241  return ba;
242 }
243 
244 //____________________________________________________________________
245 void VP1Deserialise::restore(QCheckBox *cb )
246 {
247  if(VP1Msg::debug()){
248  messageDebug("VP1Deserialise::restore(QCheckBox) - name: " + cb->objectName());
249  }
250 
251  m_d->handle(cb);
252 
253  bool b = restoreBool();
254 
255  if(VP1Msg::debug()){
256  messageDebug("bool b: "+QString::number(b));
257  messageDebug("bool cb: "+QString::number( cb->isChecked() ));
258  }
259 
260  if (cb->isChecked()!=b) {
261  m_d->block(cb);
262  if(VP1Msg::debug()){
263  messageDebug("setting - checked: "+QString::number( b ));
264  }
265  cb->setChecked(b);
266  m_d->unblock();
267  }
268 }
269 
270 //____________________________________________________________________
271 void VP1Deserialise::restore(QGroupBox*gb)
272 {
273  if(VP1Msg::debug()){
274  messageDebug("VP1Deserialise::restore(QGroupBox) - name: " + gb->objectName());
275  }
276  if (!gb->isCheckable())
277  message("WARNING: Asked to handled GroupBox which is not checkable: "+gb->objectName());
278  m_d->handle(gb);
279  bool b = restoreBool();
280  if (gb->isChecked()!=b) {
281  m_d->block(gb);
282  gb->setChecked(b);
283  m_d->unblock();
284  }
285 }
286 
287 //____________________________________________________________________
288 void VP1Deserialise::restore(QComboBox *cb)
289 {
290  if(VP1Msg::debug()){
291  messageDebug("VP1Deserialise::restore(QComboBox) - name: " + cb->objectName());
292  }
293  m_d->handle(cb);
294  QString t = restoreString();
295  if (t.isEmpty())
296  return;
297  int i = cb->findText(t);
298  if (i<0||i>cb->count()-1)
299  return;
300  if (cb->currentIndex()!=i) {
301  m_d->block(cb);
302  cb->setCurrentIndex(i);
303  m_d->unblock();
304  }
305 }
306 
307 //____________________________________________________________________
308 void VP1Deserialise::restore(QLineEdit* le)
309 {
310  if(VP1Msg::debug()){
311  messageDebug("VP1Deserialise::restore(QLineEdit) - name: " + le->objectName());
312  }
313  m_d->handle(le);
314  QString s = restoreString();
315  if (s!=le->text()) {
316  m_d->block(le);
317  le->setText(s);
318  m_d->unblock();
319  }
320 }
321 
322 //____________________________________________________________________
323 void VP1Deserialise::restore(QDoubleSpinBox *sb, const double& unit )
324 {
325  if(VP1Msg::debug()){
326  messageDebug("VP1Deserialise::restore(QDoubleSpinBox) - name: " + sb->objectName());
327  }
328  m_d->handle(sb);
329  double dbl = (unit == 1.0 ? restoreDouble() : restoreDouble()/unit);
330  dbl = std:: max(std::min(dbl,sb->maximum()),sb->minimum());
331  if (sb->value()!=dbl) {
332  m_d->block(sb);
333  sb->setValue(dbl);
334  m_d->unblock();
335  }
336 }
337 
338 //____________________________________________________________________
340 {
341  if(VP1Msg::debug()){
342  messageDebug("VP1Deserialise::restore(QSpinBox) - name: " + sb->objectName());
343  }
344  m_d->handle(sb);
345  qint32 i = restoreInt();
346  i = std:: max(std::min(i,sb->maximum()),sb->minimum());
347  if (sb->value()!=i) {
348  m_d->block(sb);
349  sb->setValue(i);
350  m_d->unblock();
351  }
352 }
353 
354 //____________________________________________________________________
356 {
357  if(VP1Msg::debug()){
358  messageDebug("VP1Deserialise::restore(QSlider) - name: " + s->objectName());
359  }
360  m_d->handle(s);
361  qint32 i = restoreInt();
362  i = std:: max(std::min(i,s->maximum()),s->minimum());
363  if (s->value()!=i) {
364  m_d->block(s);
365  s->setValue(i);
366  m_d->unblock();
367  }
368 }
369 
370 //____________________________________________________________________
372 {
373  if(VP1Msg::debug()){
374  messageDebug("VP1Deserialise::restore(QToolBox) - name: " + tb->objectName());
375  }
376  m_d->handle(tb);
377  qint32 i = restoreInt();
378  if (i>=0&&i<tb->count()&&i!=tb->currentIndex()) {
379  m_d->block(tb);
380  tb->setCurrentIndex(i);
381  m_d->unblock();
382  }
383 }
384 
385 //____________________________________________________________________
387 {
388  if(VP1Msg::debug()){
389  messageDebug("VP1Deserialise::restore(QToolBox) - name: " + tb->objectName());
390  }
391  m_d->handle(tb);
392  QString s = restoreString();
393  int itarget (-1);
394  for (int i = 0; i < tb->count(); ++i) {
395  if (tb->itemText(i)==s) {
396  itarget = i;
397  break;
398  }
399  }
400  if (itarget>0&&itarget<tb->count()&&itarget!=tb->currentIndex()) {
401  m_d->block(tb);
402  tb->setCurrentIndex(itarget);
403  m_d->unblock();
404  }
405 }
406 
407 
408 //____________________________________________________________________
410 {
411  QString t;
412  (*(m_d->state)) >> t;
413  if (VP1Msg::verbose()){
414  messageVerbose("Restoring string "+t);
415  }
416  return t;
417 }
418 //____________________________________________________________________
420 {
421  bool b;
422  (*(m_d->state)) >> b;
423  if (VP1Msg::verbose()){
424  messageVerbose("Restoring bool "+str(b));
425  }
426  return b;
427 }
428 //____________________________________________________________________
430 {
431  double dbl;
432  (*(m_d->state)) >> dbl;
433  if (VP1Msg::verbose()){
434  messageVerbose("Restoring double "+str(dbl));
435  }
436  return dbl;
437 }
438 
439 //____________________________________________________________________
441 {
442  qint32 i;
443  (*(m_d->state)) >> i;
444  if (VP1Msg::verbose()){
445  messageVerbose("Restoring int "+str(i));
446  }
447  return i;
448 }
449 
450 //____________________________________________________________________
451 void VP1Deserialise::restore( QRadioButton * rb0,
452  QRadioButton * rb1,
453  QRadioButton * rb2,
454  QRadioButton * rb3,
455  QRadioButton * rb4,
456  QRadioButton * rb5,
457  QRadioButton * rb6,
458  QRadioButton * rb7,
459  QRadioButton * rb8,
460  QRadioButton * rb9 )
461 {
462  qint32 ichecked = restoreInt();
463  QList<QRadioButton *> l;
464  l << rb0 << rb1 << rb2 << rb3 << rb4 << rb5 << rb6 << rb7 << rb8 << rb9;
465  for (qint32 i = 0; i < l.count(); ++i) {
466  if (l.at(i)) {
467  if(VP1Msg::debug()){
468  messageDebug("VP1Deserialise::restore(QRadioButton) - name: " + l.at(i)->objectName());
469  }
470  m_d->handle(l.at(i));
471  }
472  }
473  //We only change any state if we have a pointer to the one needing to be checked:
474  if (ichecked<0||ichecked>=l.count()||!l.at(ichecked))
475  return;
476  for (qint32 i = 0; i < l.count(); ++i) {
477  QRadioButton * rb = l.at(i);
478  if (rb&&rb->isChecked()!=(i==ichecked)) {
479  m_d->block(rb);
480  rb->setChecked(i==ichecked);
481  m_d->unblock();
482  }
483  }
484 }
485 
486 //____________________________________________________________________
488 {
489  if(VP1Msg::debug()){
490  messageDebug("VP1Deserialise::restore(VP1CollectionWidget) - name: " + cw->objectName());
491  messageDebug("VP1Deserialise::restore(VP1CollectionWidget)- start...");
492  }
493  m_d->handle(cw);
494  ignoreWidget(cw);//To ignore all children of the collection widget.
495  QByteArray ba(restoreByteArray());
496  QBuffer buffer(&ba);
497  buffer.open(QIODevice::ReadOnly);
498  QDataStream state(&buffer);
499  qint32 version;
500  state >> version;
501  if (version!=0)
502  return;//We ignore wrong versions silently here.
503  VP1CollStates cwstates;
504  state >> cwstates;
505  buffer.close();
506  m_d->block(cw);
507  cw->addStateInfo(cwstates,true/*overwrite existing*/);
508  m_d->unblock();
509  if(VP1Msg::debug()){
510  messageDebug("VP1Deserialise::restore(VP1CollectionWidget)- end.");
511  }
512 }
513 
514 //____________________________________________________________________
516 {
517  if(VP1Msg::debug()){
518  messageDebug("VP1Deserialise::restore(VP1CollectionSettingsButtonBase) - name: " + w->objectName());
519  messageDebug("VP1Deserialise::restore(VP1CollectionSettingsButtonBase)- start...");
520  }
521  m_d->handle(w);
522  ignoreWidget(w);//To ignore all children of the widget.
523 
524  QByteArray ba = restoreByteArray();
525  if (w&&ba!=QByteArray()) {
526  m_d->block(w);
527  w->restoreFromState(ba);
528  m_d->unblock();
529  }
530  if(VP1Msg::debug()){
531  messageDebug("VP1Deserialise::restore(VP1CollectionSettingsButtonBase)- end.");
532  }
533 }
535 //void VP1Deserialise::restore(JetCollectionSettingsButton*w)
536 //{
537 // m_d->handle(w);
538 // ignoreWidget(w);//To ignore all children of the widget.
539 //
540 // QByteArray ba = restoreByteArray();
541 // if (w&&ba!=QByteArray()) {
542 // m_d->block(w);
543 // w->restoreFromState(ba);
544 // m_d->unblock();
545 // }
546 //}
547 
548 
549 
550 //____________________________________________________________________
552 {
553  if(VP1Msg::debug()){
554  messageDebug("VP1Deserialise::restore(VP1EtaPhiCutWidget) - name: " + w->objectName());
555  }
556  m_d->handle(w);
557  ignoreWidget(w);//To ignore all children of the widget.
558 
559  QByteArray ba = restoreByteArray();
560  if (w&&ba!=QByteArray()) {
561  m_d->block(w);
562  w->restoreFromState(ba);
563  m_d->unblock();
564  }
565 }
566 
567 
568 
569 
570 //____________________________________________________________________
572 {
573  if(VP1Msg::debug()){
574  messageDebug("VP1Deserialise::restore(VP1DrawOptionsWidget) - name: " + w->objectName());
575  }
576  m_d->handle(w);
577  ignoreWidget(w);//To ignore all children of the widget.
578 
579  QByteArray ba = restoreByteArray();
580  if (w&&ba!=QByteArray()) {
581  m_d->block(w);
582  w->applyState(ba);
583  m_d->unblock();
584  }
585 }
586 
587 //____________________________________________________________________
589 {
590  bool b;
591  (*(m_d->state)) >> b;
592  if (VP1Msg::verbose()){
593  messageVerbose("Ignoring bool "+str(b));
594  }
595 }
596 
597 //____________________________________________________________________
599 {
600  qint32 i;
601  (*(m_d->state)) >> i;
602  if (VP1Msg::verbose()){
603  messageVerbose("Ignoring int "+str(i));
604  }
605 }
606 
607 //____________________________________________________________________
609 {
610  double dbl;
611  (*(m_d->state)) >> dbl;
612  if (VP1Msg::verbose()){
613  messageVerbose("Ignoring double "+str(dbl));
614  }
615 }
616 
617 //____________________________________________________________________
619 {
620  QString t;
621  (*(m_d->state)) >> t;
622  if (VP1Msg::verbose()){
623  messageVerbose("Ignoring string "+t);
624  }
625 }
626 
627 //____________________________________________________________________
629 {
630  QByteArray ba;
631  (*(m_d->state)) >> ba;
632  if (VP1Msg::verbose()){
633  messageVerbose("Ignoring byte array (length = "+QString::number(ba.count())+")");
634  }
635 }
636 
637 //____________________________________________________________________
639 {
640  QPair<int,QList<int> > state;
641  (*(m_d->state)) >> state;
642  if (VP1Msg::verbose()){
643  messageVerbose("Ignoring obsolete phi section widget state");
644  }
645 }
646 
647 //____________________________________________________________________
649 {
650  if(VP1Msg::debug()){
651  messageDebug("VP1Deserialise::ignoreWidget(QWidget) - name: " + w->objectName());
652  }
653  if (w)
654  m_d->ignoredWidgets.insert(w);
655 }
656 
657 //____________________________________________________________________
659 {
660  m_d->handle(w);
661 }
662 
663 //____________________________________________________________________
665 {
666  //NB: Same code as in VP1Serialise::Imp::expectsPersistification
667  if (!w)
668  return false;
669 
670  //Fixme: Something faster than string based? Or only do this in verbose mode?
671 
672  if (w->inherits("QGroupBox"))
673  return static_cast<QGroupBox*>(w)->isCheckable();
674 
675  return w->inherits("QCheckBox")
676  || w->inherits("QRadioButton")
677  || w->inherits("QComboBox")
678  || w->inherits("QAbstractSpinBox")
679  || w->inherits("QSlider")
680  || w->inherits("QToolBox")
681  || w->inherits("PhiSectionWidget")
682  || w->inherits("VP1EtaPhiCutWidget")
683  || w->inherits("VP1DrawOptionsWidget")
684  || w->inherits("QLineEdit")
685  || w->inherits("VP1ColorSelectButton")
686  || w->inherits("VP1MaterialButton");
687 }
688 
689 //____________________________________________________________________
691 {
692  m_d->checkedUnused = true;
693 }
694 
695 //____________________________________________________________________
696 void VP1Deserialise::warnUnrestored(QObject* object)
697 {
698  //NB: Same code as in VP1Serialise::warnUnsaved
699 
700  if (!m_d->checkedUnused)
701  m_d->checkedUnused = true;
702 
703  if (!object)
704  return;
705 
706  if (object->isWidgetType()&&m_d->ignoredWidgets.contains(static_cast<QWidget*>(object)))
707  return;
708 
709  if (object->isWidgetType()&&!object->objectName().startsWith("qt_")) {
710  QWidget * wid = static_cast<QWidget*>(object);
711  if (!m_d->handledWidgets.contains(wid)&&m_d->expectsPersistification(wid)) {
712  QString s("WARNING Unrestored widget of type: "+QString(wid->metaObject()->className())+" and object name = "+wid->objectName());
713  if (VP1Msg::verbose()){
714  message(s);
715  }
716  if(VP1Msg::debug()){
717  messageDebug(s);
718  }
719  }
720  }
721  //Call recursively on all "children":
722  for (QObject* o : object->children())
723  warnUnrestored(static_cast<QWidget*>(o));
724 }
VP1CollStates
QMap< QByteArray, QByteArray > VP1CollStates
Definition: VP1Collection.h:27
VP1Deserialise::~VP1Deserialise
virtual ~VP1Deserialise()
Definition: VP1Deserialise.cxx:122
VP1Deserialise::VP1Deserialise
VP1Deserialise(const QByteArray &, IVP1System *sys=0)
Definition: VP1Deserialise.cxx:102
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
VP1Deserialise.h
VP1Deserialise::Imp::ignoredWidgets
QSet< QWidget * > ignoredWidgets
Definition: VP1Deserialise.cxx:55
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
VP1Deserialise::ignoreInt
void ignoreInt()
Definition: VP1Deserialise.cxx:598
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
WriteCellNoiseToCool.rb
rb
Definition: WriteCellNoiseToCool.py:229
VP1MaterialButton.h
VP1Deserialise::ignoreString
void ignoreString()
Definition: VP1Deserialise.cxx:618
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
VP1Deserialise::Imp::unblock
void unblock()
Definition: VP1Deserialise.cxx:65
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
VP1Deserialise::Imp::checkedUnused
bool checkedUnused
Definition: VP1Deserialise.cxx:51
VP1MaterialButton
Definition: VP1MaterialButton.h:46
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
VP1Deserialise::disableUnrestoredChecks
void disableUnrestoredChecks()
Definition: VP1Deserialise.cxx:690
VP1ColorSelectButton::setColor
void setColor(const QColor &)
Definition: VP1ColorSelectButton.cxx:95
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
VP1DrawOptionsWidget.h
VP1CollectionSettingsButtonBase.h
VP1Deserialise::restoreByTitle
void restoreByTitle(QToolBox *)
Definition: VP1Deserialise.cxx:386
VP1Msg::debug
static bool debug()
Definition: VP1Msg.h:32
VP1Deserialise::Imp::theclass
VP1Deserialise * theclass
Definition: VP1Deserialise.cxx:47
VP1Deserialise::Imp::byteArray
QByteArray byteArray
Definition: VP1Deserialise.cxx:48
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
VP1Deserialise::Imp::Imp
Imp(VP1Deserialise *tc)
Definition: VP1Deserialise.cxx:46
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
VP1Deserialise::Imp::version
qint32 version
Definition: VP1Deserialise.cxx:52
VP1Deserialise::restoreDouble
double restoreDouble()
Definition: VP1Deserialise.cxx:429
VP1Deserialise::decrementNumberOfInstantiations
static void decrementNumberOfInstantiations()
Definition: VP1Deserialise.cxx:96
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
VP1EtaPhiCutWidget
Definition: VP1EtaPhiCutWidget.h:26
VP1ColorSelectButton
Definition: VP1ColorSelectButton.h:20
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
VP1Deserialise::Imp::handle
void handle(QWidget *w)
Definition: VP1Deserialise.cxx:72
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
VP1QtInventorUtils::deserialiseSoMaterial
static bool deserialiseSoMaterial(QByteArray &, SoMaterial *&)
Definition: VP1QtInventorUtils.cxx:1188
VP1Deserialise::Imp::buffer
QBuffer * buffer
Definition: VP1Deserialise.cxx:49
VP1EtaPhiCutWidget.h
VP1CollectionWidget.h
VP1QtInventorUtils.h
VP1Deserialise::atEnd
bool atEnd() const
Definition: VP1Deserialise.cxx:137
VP1Deserialise::Imp::state
QDataStream * state
Definition: VP1Deserialise.cxx:50
VP1Deserialise::version
qint32 version() const
Definition: VP1Deserialise.cxx:143
Execution.tb
tb
Definition: Execution.py:15
IVP1System
Definition: IVP1System.h:36
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
VP1Deserialise::Imp::handle
void handle(const QWidget *w)
Definition: VP1Deserialise.cxx:81
VP1Deserialise::restoreBool
bool restoreBool()
Definition: VP1Deserialise.cxx:419
VP1CollectionWidget::addStateInfo
void addStateInfo(const VP1CollStates &, bool overwritesExisting=true)
Definition: VP1CollectionWidget.cxx:289
lumiFormat.i
int i
Definition: lumiFormat.py:85
VP1Deserialise::stream
QDataStream * stream()
Definition: VP1Deserialise.cxx:149
VP1CollectionSettingsButtonBase
Definition: VP1CollectionSettingsButtonBase.h:17
PhiSectionWidget.h
VP1Deserialise::ignoreBool
void ignoreBool()
Definition: VP1Deserialise.cxx:588
VP1ColorSelectButton::color
QColor color() const
Definition: VP1ColorSelectButton.cxx:108
VP1ColorSelectButton.h
VP1Deserialise
Definition: VP1Deserialise.h:44
PhiSectionWidget
Definition: PhiSectionWidget.h:26
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
VP1Deserialise::Imp::block
void block(QWidget *w)
Definition: VP1Deserialise.cxx:58
VP1Deserialise::Imp::numberOfInstantiations
static unsigned numberOfInstantiations
Definition: VP1Deserialise.cxx:84
VP1Deserialise::numberOfInstantiations
static unsigned numberOfInstantiations()
Definition: VP1Deserialise.cxx:90
VP1Deserialise::Imp
Definition: VP1Deserialise.cxx:44
keylayer_zslicemap.sb
sb
Definition: keylayer_zslicemap.py:192
VP1Deserialise::restore
T restore()
Definition: VP1Deserialise.h:137
VP1Deserialise::restoreInt
qint32 restoreInt()
Definition: VP1Deserialise.cxx:440
VP1Deserialise::Imp::widgetNeedingUnblock
QWidget * widgetNeedingUnblock
Definition: VP1Deserialise.cxx:57
VP1Deserialise::restoreColor
QColor restoreColor()
Definition: VP1Deserialise.cxx:191
python.selection.number
number
Definition: selection.py:20
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VP1Deserialise::widgetHandled
void widgetHandled(QWidget *)
Definition: VP1Deserialise.cxx:658
VP1Deserialise::warnUnrestored
void warnUnrestored(QObject *)
Definition: VP1Deserialise.cxx:696
VP1CollectionWidget
Definition: VP1CollectionWidget.h:32
VP1Deserialise::Imp::handledWidgets
QSet< QWidget * > handledWidgets
Definition: VP1Deserialise.cxx:54
VP1DrawOptionsWidget
Definition: VP1DrawOptionsWidget.h:25
TRT_PAI_physicsConstants::mb
const double mb
1mb to cm2
Definition: TRT_PAI_physicsConstants.h:15
VP1Deserialise::m_d
Imp * m_d
Definition: VP1Deserialise.h:126
unit
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
Definition: AmgMatrixBasePlugin.h:21
VP1Deserialise::ignoreDouble
void ignoreDouble()
Definition: VP1Deserialise.cxx:608
VP1Deserialise::ignoreObsoletePhiSectionWidgetState
void ignoreObsoletePhiSectionWidgetState()
Definition: VP1Deserialise.cxx:638
VP1Deserialise::ignoreByteArray
void ignoreByteArray()
Definition: VP1Deserialise.cxx:628
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
VP1Deserialise::Imp::expectsPersistification
bool expectsPersistification(QWidget *w)
Definition: VP1Deserialise.cxx:664
pickleTool.object
object
Definition: pickleTool.py:30
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
VP1Deserialise::ignoreWidget
void ignoreWidget(QWidget *)
Definition: VP1Deserialise.cxx:648
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
VP1Deserialise::restoreByteArray
QByteArray restoreByteArray()
Definition: VP1Deserialise.cxx:234
python.compressB64.c
def c
Definition: compressB64.py:93
VP1Deserialise::restoreString
QString restoreString()
Definition: VP1Deserialise.cxx:409