ATLAS Offline Software
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
VP1Deserialise::Imp Class Reference
Collaboration diagram for VP1Deserialise::Imp:

Public Member Functions

 Imp (VP1Deserialise *tc)
 
void block (QWidget *w)
 
void unblock ()
 
void handle (QWidget *w)
 
void handle (const QWidget *w)
 
bool expectsPersistification (QWidget *w)
 

Public Attributes

VP1Deserialisetheclass
 
QByteArray byteArray
 
QBuffer * buffer
 
QDataStream * state
 
bool checkedUnused
 
qint32 version
 
QSet< QWidget * > handledWidgets
 
QSet< QWidget * > ignoredWidgets
 
QWidget * widgetNeedingUnblock
 

Static Public Attributes

static unsigned numberOfInstantiations = 0
 

Detailed Description

Definition at line 44 of file VP1Deserialise.cxx.

Constructor & Destructor Documentation

◆ Imp()

VP1Deserialise::Imp::Imp ( VP1Deserialise tc)
inline

Definition at line 46 of file VP1Deserialise.cxx.

46 : theclass(tc), buffer(0), state(0), checkedUnused(false), version(-1), widgetNeedingUnblock(0) {}

Member Function Documentation

◆ block()

void VP1Deserialise::Imp::block ( QWidget *  w)
inline

Definition at line 58 of file VP1Deserialise.cxx.

58  {
59  assert(!widgetNeedingUnblock);
60  if (w&&!w->signalsBlocked()) {
61  w->blockSignals(true);
63  }
64  }

◆ expectsPersistification()

bool VP1Deserialise::Imp::expectsPersistification ( QWidget *  w)

Definition at line 664 of file VP1Deserialise.cxx.

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 }

◆ handle() [1/2]

void VP1Deserialise::Imp::handle ( const QWidget *  w)
inline

Definition at line 81 of file VP1Deserialise.cxx.

81 { handle((QWidget*)(w)); }

◆ handle() [2/2]

void VP1Deserialise::Imp::handle ( QWidget *  w)
inline

Definition at line 72 of file VP1Deserialise.cxx.

72  {
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  }

◆ unblock()

void VP1Deserialise::Imp::unblock ( )
inline

Definition at line 65 of file VP1Deserialise.cxx.

65  {
67  widgetNeedingUnblock->blockSignals(false);
69  }
70  }

Member Data Documentation

◆ buffer

QBuffer* VP1Deserialise::Imp::buffer

Definition at line 49 of file VP1Deserialise.cxx.

◆ byteArray

QByteArray VP1Deserialise::Imp::byteArray

Definition at line 48 of file VP1Deserialise.cxx.

◆ checkedUnused

bool VP1Deserialise::Imp::checkedUnused

Definition at line 51 of file VP1Deserialise.cxx.

◆ handledWidgets

QSet<QWidget*> VP1Deserialise::Imp::handledWidgets

Definition at line 54 of file VP1Deserialise.cxx.

◆ ignoredWidgets

QSet<QWidget*> VP1Deserialise::Imp::ignoredWidgets

Definition at line 55 of file VP1Deserialise.cxx.

◆ numberOfInstantiations

unsigned VP1Deserialise::Imp::numberOfInstantiations = 0
static

Definition at line 84 of file VP1Deserialise.cxx.

◆ state

QDataStream* VP1Deserialise::Imp::state

Definition at line 50 of file VP1Deserialise.cxx.

◆ theclass

VP1Deserialise* VP1Deserialise::Imp::theclass

Definition at line 47 of file VP1Deserialise.cxx.

◆ version

qint32 VP1Deserialise::Imp::version

Definition at line 52 of file VP1Deserialise.cxx.

◆ widgetNeedingUnblock

QWidget* VP1Deserialise::Imp::widgetNeedingUnblock

Definition at line 57 of file VP1Deserialise.cxx.


The documentation for this class was generated from the following file:
VP1Deserialise::Imp::checkedUnused
bool checkedUnused
Definition: VP1Deserialise.cxx:51
VP1Deserialise::Imp::theclass
VP1Deserialise * theclass
Definition: VP1Deserialise.cxx:47
VP1Deserialise::Imp::version
qint32 version
Definition: VP1Deserialise.cxx:52
VP1Deserialise::Imp::handle
void handle(QWidget *w)
Definition: VP1Deserialise.cxx:72
VP1Deserialise::Imp::buffer
QBuffer * buffer
Definition: VP1Deserialise.cxx:49
VP1Deserialise::Imp::state
QDataStream * state
Definition: VP1Deserialise.cxx:50
VP1Deserialise::Imp::widgetNeedingUnblock
QWidget * widgetNeedingUnblock
Definition: VP1Deserialise.cxx:57
VP1Deserialise::Imp::handledWidgets
QSet< QWidget * > handledWidgets
Definition: VP1Deserialise.cxx:54
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200