QXRD  0.11.16
Public Types | Public Slots | Public Member Functions | Private Attributes | List of all members
QxrdDetectorProxy Class Reference

#include <qxrddetectorproxy.h>

Inheritance diagram for QxrdDetectorProxy:
Inheritance graph
[legend]
Collaboration diagram for QxrdDetectorProxy:
Collaboration graph
[legend]

Public Types

enum  PropertyType {
  DetectorNumberProperty, DetectorTypeProperty, StringProperty, IntegerProperty,
  BooleanProperty, DoubleProperty, DirectoryProperty, FilenameProperty,
  ExtensionProperty, FixedIntegerProperty, PEDetNumProperty, PESubTypeProperty,
  PEGainProperty, PEBinningProperty, PilatusModeProperty
}
 

Public Slots

int detectorType ()
 
QString detectorTypeName ()
 
QxrdDetectorThreadPtr detectorThread ()
 
QxrdDetectorPtr detector ()
 
int detectorNumber ()
 
QString detectorName ()
 
void setDetectorName (QString name)
 
bool configureDetector ()
 
bool settingsChanged ()
 
bool enabled ()
 
void setEnabled (bool a)
 
- Public Slots inherited from QcepObject
virtual void printLine (QString line)
 
virtual void printMessage (QString msg, QDateTime dt=QDateTime::currentDateTime()) const
 
virtual void criticalMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual void statusMessage (QString msg, QDateTime ts=QDateTime::currentDateTime()) const
 
virtual QString settingsScript ()
 
QString scriptValueLiteral (QVariant v)
 

Public Member Functions

 QxrdDetectorProxy (QxrdDetectorThreadPtr thr, QxrdDetectorPtr det, QxrdAcquisitionPtr acq)
 
 QxrdDetectorProxy (int detectorType, QxrdAcquisitionPtr acq)
 
void initialize ()
 
void clearProperties ()
 
void pushProperty (PropertyType type, QString name, QString description, QVariant value)
 
void pushPropertiesToDialog (QxrdDetectorConfigurationDialog *dialog)
 
void pullPropertiesFromDialog (QxrdDetectorConfigurationDialog *dialog)
 
- Public Member Functions inherited from QcepObject
 QcepObject (QString name, QcepObject *parent)
 
virtual ~QcepObject ()
 
virtual void writeSettings (QSettings *set, QString section)
 
virtual void readSettings (QSettings *set, QString section)
 
QString get_Name () const
 
void set_Name (QString name)
 

Private Attributes

QxrdAcquisitionPtr m_Acquisition
 
QxrdDetectorThreadPtr m_DetectorThread
 
QxrdDetectorPtr m_Detector
 
int m_DetectorType
 
bool m_SettingsChanged
 
bool m_Initialized
 
QVector< PropertyTypem_PropertyTypes
 
QVector< QString > m_PropertyNames
 
QVector< QString > m_PropertyDescriptions
 
QVector< QVariant > m_PropertyValues
 

Additional Inherited Members

- Static Public Member Functions inherited from QcepObject
static int allocatedObjects ()
 
static int deletedObjects ()
 
static QSet< QcepObject * > allocatedObjectsSet ()
 
static QString addSlashes (QString str)
 
- Properties inherited from QcepObject
QString name
 

Detailed Description

Definition at line 11 of file qxrddetectorproxy.h.

Member Enumeration Documentation

Enumerator
DetectorNumberProperty 
DetectorTypeProperty 
StringProperty 
IntegerProperty 
BooleanProperty 
DoubleProperty 
DirectoryProperty 
FilenameProperty 
ExtensionProperty 
FixedIntegerProperty 
PEDetNumProperty 
PESubTypeProperty 
PEGainProperty 
PEBinningProperty 
PilatusModeProperty 

Definition at line 39 of file qxrddetectorproxy.h.

39  {
55  } PropertyType;

Constructor & Destructor Documentation

QxrdDetectorProxy::QxrdDetectorProxy ( QxrdDetectorThreadPtr  thr,
QxrdDetectorPtr  det,
QxrdAcquisitionPtr  acq 
)
explicit

Definition at line 10 of file qxrddetectorproxy.cpp.

References m_DetectorType, and setEnabled().

13  : QcepObject("detectorProxy", acq.data()),
14  m_Acquisition(acq),
15  m_DetectorThread(thr),
16  m_Detector(det),
18  m_SettingsChanged(false),
19  m_Initialized(false)
20 {
21 
22  if (det) {
23  setEnabled(det->get_Enabled());
24  m_DetectorType = det->get_DetectorType();
25  }
26 }
QxrdDetectorThreadPtr m_DetectorThread
QcepObject(QString name, QcepObject *parent)
Definition: qcepobject.cpp:16
QxrdAcquisitionPtr m_Acquisition
QxrdDetectorPtr m_Detector

Here is the call graph for this function:

QxrdDetectorProxy::QxrdDetectorProxy ( int  detectorType,
QxrdAcquisitionPtr  acq 
)
explicit

Definition at line 28 of file qxrddetectorproxy.cpp.

References setEnabled().

29  : QcepObject("detectorProxy", acq.data()),
30  m_Acquisition(acq),
32  m_Detector(),
34  m_SettingsChanged(false),
35  m_Initialized(false)
36 {
37  setEnabled(true);
38 }
QxrdDetectorThreadPtr m_DetectorThread
QcepObject(QString name, QcepObject *parent)
Definition: qcepobject.cpp:16
QxrdAcquisitionPtr m_Acquisition
QxrdDetectorPtr m_Detector

Here is the call graph for this function:

Member Function Documentation

void QxrdDetectorProxy::clearProperties ( )

Definition at line 127 of file qxrddetectorproxy.cpp.

References m_PropertyDescriptions, m_PropertyNames, m_PropertyTypes, and m_PropertyValues.

Referenced by pullPropertiesFromDialog().

128 {
129  m_PropertyTypes.clear();
130  m_PropertyNames.clear();
131  m_PropertyDescriptions.clear();
132  m_PropertyValues.clear();
133 }
QVector< QString > m_PropertyDescriptions
QVector< QString > m_PropertyNames
QVector< QVariant > m_PropertyValues
QVector< PropertyType > m_PropertyTypes

Here is the caller graph for this function:

bool QxrdDetectorProxy::configureDetector ( )
slot

Definition at line 102 of file qxrddetectorproxy.cpp.

References m_Detector, m_DetectorType, m_SettingsChanged, and QxrdDetectorThread::pushDefaultsToProxy().

103 {
104  if (m_Detector) {
105  m_Detector->pushPropertiesToProxy(sharedFromThis());
106  } else {
108  }
109 
111  new QxrdDetectorConfigurationDialog(sharedFromThis());
112 
113  if (d->exec() == QDialog::Accepted) {
114  m_SettingsChanged = true;
115  }
116 
117  delete d;
118 
119  return m_SettingsChanged;
120 }
static void pushDefaultsToProxy(int detectorType, QxrdDetectorProxyPtr proxy)
QxrdDetectorPtr m_Detector

Here is the call graph for this function:

QxrdDetectorPtr QxrdDetectorProxy::detector ( )
slot

Definition at line 97 of file qxrddetectorproxy.cpp.

References m_Detector.

98 {
99  return m_Detector;
100 }
QxrdDetectorPtr m_Detector
QString QxrdDetectorProxy::detectorName ( )
slot

Definition at line 82 of file qxrddetectorproxy.cpp.

83 {
84  return property("detectorName").toString();
85 }
int QxrdDetectorProxy::detectorNumber ( )
slot

Definition at line 67 of file qxrddetectorproxy.cpp.

68 {
69  return property("detectorNumber").toInt();
70 }
QxrdDetectorThreadPtr QxrdDetectorProxy::detectorThread ( )
slot

Definition at line 92 of file qxrddetectorproxy.cpp.

References m_DetectorThread.

93 {
94  return m_DetectorThread;
95 }
QxrdDetectorThreadPtr m_DetectorThread
int QxrdDetectorProxy::detectorType ( )
slot

Definition at line 72 of file qxrddetectorproxy.cpp.

Referenced by detectorTypeName().

73 {
74  return property("detectorType").toInt();
75 }

Here is the caller graph for this function:

QString QxrdDetectorProxy::detectorTypeName ( )
slot

Definition at line 77 of file qxrddetectorproxy.cpp.

References detectorType(), and QxrdDetectorThread::detectorTypeName().

78 {
80 }
static QString detectorTypeName(int detectorType)

Here is the call graph for this function:

bool QxrdDetectorProxy::enabled ( )
slot

Definition at line 57 of file qxrddetectorproxy.cpp.

58 {
59  return property("enabled").toBool();
60 }
void QxrdDetectorProxy::initialize ( )

Definition at line 40 of file qxrddetectorproxy.cpp.

References m_Detector, m_DetectorType, m_Initialized, and QxrdDetectorThread::pushDefaultsToProxy().

41 {
42  if (!m_Initialized) {
43  if (sharedFromThis()) {
44  if (m_Detector) {
45  m_Detector->pushPropertiesToProxy(sharedFromThis());
46  } else {
48  }
49 
50  m_Initialized = true;
51  } else {
52  printf("Proxy initialize failed\n");
53  }
54  }
55 }
static void pushDefaultsToProxy(int detectorType, QxrdDetectorProxyPtr proxy)
QxrdDetectorPtr m_Detector

Here is the call graph for this function:

void QxrdDetectorProxy::pullPropertiesFromDialog ( QxrdDetectorConfigurationDialog dialog)

Definition at line 159 of file qxrddetectorproxy.cpp.

References clearProperties(), m_PropertyNames, m_PropertyTypes, and QxrdDetectorConfigurationDialog::propertyValue().

160 {
161  if (dialog) {
162  int nProps = m_PropertyTypes.count();
163 
164  for (int i=0; i<nProps; i++) {
165  int propType = m_PropertyTypes.value(i);
166  QString propName = m_PropertyNames.value(i);
167  QVariant propVal = dialog->propertyValue(propType, i);
168 
169  if (propVal.isValid()) {
170  setProperty(qPrintable(propName), propVal);
171  }
172  }
173 
174  clearProperties();
175  }
176 }
QVector< QString > m_PropertyNames
QVector< PropertyType > m_PropertyTypes

Here is the call graph for this function:

void QxrdDetectorProxy::pushPropertiesToDialog ( QxrdDetectorConfigurationDialog dialog)

Definition at line 145 of file qxrddetectorproxy.cpp.

References QxrdDetectorConfigurationDialog::appendProperty(), m_PropertyDescriptions, m_PropertyNames, m_PropertyTypes, and m_PropertyValues.

146 {
147  if (dialog) {
148  int nProps = m_PropertyTypes.count();
149 
150  for (int i = 0; i<nProps; i++) {
151  dialog->appendProperty(m_PropertyTypes.value(i),
152  m_PropertyNames.value(i),
153  m_PropertyDescriptions.value(i),
154  m_PropertyValues.value(i));
155  }
156  }
157 }
void appendProperty(int type, QString name, QString description, QVariant value)
QVector< QString > m_PropertyDescriptions
QVector< QString > m_PropertyNames
QVector< QVariant > m_PropertyValues
QVector< PropertyType > m_PropertyTypes

Here is the call graph for this function:

void QxrdDetectorProxy::pushProperty ( PropertyType  type,
QString  name,
QString  description,
QVariant  value 
)

Definition at line 135 of file qxrddetectorproxy.cpp.

References m_PropertyDescriptions, m_PropertyNames, m_PropertyTypes, and m_PropertyValues.

136 {
137  m_PropertyTypes.append(type);
138  m_PropertyNames.append(name);
139  m_PropertyDescriptions.append(description);
140  m_PropertyValues.append(value);
141 
142  setProperty(qPrintable(name), value);
143 }
QVector< QString > m_PropertyDescriptions
QVector< QString > m_PropertyNames
QString name
Definition: qcepobject.h:49
QVector< QVariant > m_PropertyValues
QVector< PropertyType > m_PropertyTypes
void QxrdDetectorProxy::setDetectorName ( QString  name)
slot

Definition at line 87 of file qxrddetectorproxy.cpp.

88 {
89  setProperty("detectorName", name);
90 }
QString name
Definition: qcepobject.h:49
void QxrdDetectorProxy::setEnabled ( bool  a)
slot

Definition at line 62 of file qxrddetectorproxy.cpp.

Referenced by QxrdDetectorProxy().

63 {
64  setProperty("enabled", a);
65 }

Here is the caller graph for this function:

bool QxrdDetectorProxy::settingsChanged ( )
slot

Definition at line 122 of file qxrddetectorproxy.cpp.

References m_SettingsChanged.

123 {
124  return m_SettingsChanged;
125 }

Member Data Documentation

QxrdAcquisitionPtr QxrdDetectorProxy::m_Acquisition
private

Definition at line 63 of file qxrddetectorproxy.h.

QxrdDetectorPtr QxrdDetectorProxy::m_Detector
private

Definition at line 65 of file qxrddetectorproxy.h.

Referenced by configureDetector(), detector(), and initialize().

QxrdDetectorThreadPtr QxrdDetectorProxy::m_DetectorThread
private

Definition at line 64 of file qxrddetectorproxy.h.

Referenced by detectorThread().

int QxrdDetectorProxy::m_DetectorType
private

Definition at line 66 of file qxrddetectorproxy.h.

Referenced by configureDetector(), initialize(), and QxrdDetectorProxy().

bool QxrdDetectorProxy::m_Initialized
private

Definition at line 68 of file qxrddetectorproxy.h.

Referenced by initialize().

QVector<QString> QxrdDetectorProxy::m_PropertyDescriptions
private

Definition at line 71 of file qxrddetectorproxy.h.

Referenced by clearProperties(), pushPropertiesToDialog(), and pushProperty().

QVector<QString> QxrdDetectorProxy::m_PropertyNames
private
QVector<PropertyType> QxrdDetectorProxy::m_PropertyTypes
private
QVector<QVariant> QxrdDetectorProxy::m_PropertyValues
private

Definition at line 72 of file qxrddetectorproxy.h.

Referenced by clearProperties(), pushPropertiesToDialog(), and pushProperty().

bool QxrdDetectorProxy::m_SettingsChanged
private

Definition at line 67 of file qxrddetectorproxy.h.

Referenced by configureDetector(), and settingsChanged().


The documentation for this class was generated from the following files: