QXRD  0.11.16
qxrdintegratordialog.cpp
Go to the documentation of this file.
1 #include "qxrdintegratordialog.h"
2 #include "qxrdintegrator.h"
3 #include "qxrddataprocessor.h"
4 #include "qxrddebug.h"
5 
7  : QDockWidget(parent),
8  m_Integrator(integw)
9 {
11  printf("QxrdIntegratorDialog::QxrdIntegratorDialog(%p)\n", this);
12  }
13 
14  setupUi(this);
15 
17 
18  if (integ) {
19  connect(m_IntegrateButton, &QAbstractButton::clicked,
20  integ -> dataProcessor().data(), &QxrdDataProcessorThreaded::integrateSaveAndDisplay);
21 
22  integ -> prop_Oversample() -> linkTo(m_OversampleFactor);
23  integ -> prop_IntegrationStep() -> linkTo(m_IntegratorStepSize);
24  integ -> prop_IntegrationNSteps() -> linkTo(m_IntegratorNSteps);
25  integ -> prop_IntegrationMinimum() -> linkTo(m_IntegratorMinimum);
26  integ -> prop_IntegrationMaximum() -> linkTo(m_IntegratorMaximum);
27  integ -> prop_IntegrationXUnits() -> linkTo(m_IntegratorXUnits);
28 
29  integ -> prop_SelfNormalization() -> linkTo(m_EnableSelfNormalization);
30  integ -> prop_SelfNormalizationMinimum() -> linkTo(m_SelfNormalizationMinimum);
31  integ -> prop_SelfNormalizationMaximum() -> linkTo(m_SelfNormalizationMaximum);
32 
33  integ -> prop_EnableGeometricCorrections() -> linkTo(m_EnableGeometry);
34  integ -> prop_EnablePolarizationCorrections() -> linkTo(m_EnablePolarization);
35  integ -> prop_Polarization() -> linkTo(m_Polarization);
36  integ -> prop_EnableAbsorptionCorrections() -> linkTo(m_EnableAbsorption);
37  integ -> prop_AttenuationLength() -> linkTo(m_AttenuationLength);
38 
39  integ -> prop_EnableUserAbsorption() -> linkTo(m_EnableUserAbsorption);
40  integ -> prop_UserAbsorptionFunction() -> linkTo(m_UserAbsorptionFunction);
41  connect(m_UserAbsorptionEdit, &QAbstractButton::clicked, this, &QxrdIntegratorDialog::editUserAbsorption);
42 
43  integ -> prop_EnableUserGeometry() -> linkTo(m_EnableUserGeometry);
44  integ -> prop_UserGeometryFunction() -> linkTo(m_UserGeometryFunction);
45  connect(m_UserGeometryEdit, &QAbstractButton::clicked, this, &QxrdIntegratorDialog::editUserGeometry);
46  connect(integ -> prop_EnablePolarizationCorrections(), &QcepBoolProperty::valueChanged, this, &QxrdIntegratorDialog::onEnablePolarizationChanged);
47  connect(integ -> prop_EnableAbsorptionCorrections(), &QcepBoolProperty::valueChanged, this, &QxrdIntegratorDialog::onEnableAbsorptionChanged);
48 
49  onEnablePolarizationChanged(integ -> get_EnablePolarizationCorrections());
50  onEnableAbsorptionChanged(integ -> get_EnableAbsorptionCorrections());
51  }
52 }
53 
55 {
57  printf("QxrdIntegratorDialog::~QxrdIntegratorDialog(%p)\n", this);
58  }
59 }
60 
62 {
63  m_Polarization -> setEnabled(pol);
64 }
65 
67 {
68  m_AttenuationLength -> setEnabled(absn);
69 }
70 
72 {
74 
75  if (integ) {
76  if (m_EditUserAbsorption == NULL) {
77  m_EditUserAbsorption = new QxrdUserScriptDialog("Edit User Absorption Script",
78  integ -> experiment(),
79  integ -> get_UserAbsorptionScript(),
80  integ -> defaultUserAbsorptionScript());
81 
82  connect(m_EditUserAbsorption.data(), &QDialog::accepted, this, &QxrdIntegratorDialog::onEditedUserAbsorption);
83  }
84 
85  m_EditUserAbsorption -> show();
86  }
87 }
88 
90 {
92 
93  if (integ) {
94  if (m_EditUserGeometry == NULL) {
95  m_EditUserGeometry = new QxrdUserScriptDialog("Edit User Geometry Script",
96  integ -> experiment(),
97  integ -> get_UserGeometryScript(),
98  integ -> defaultUserGeometryScript());
99 
100  connect(m_EditUserGeometry.data(), &QDialog::accepted, this, &QxrdIntegratorDialog::onEditedUserGeometry);
101  }
102 
103  m_EditUserGeometry -> show();
104  }
105 }
106 
108 {
110 
111  if (m_EditUserAbsorption && integ) {
112  QString script = m_EditUserAbsorption->userScript();
113 
114  integ -> set_UserAbsorptionScript(script);
115  }
116 }
117 
119 {
121 
122  if (m_EditUserGeometry && integ) {
123  QString script = m_EditUserGeometry->userScript();
124 
125  integ -> set_UserGeometryScript(script);
126  }
127 }
128 
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QxrdIntegratorDialog(QxrdIntegratorWPtr integw, QWidget *parent=0)
void onEnableAbsorptionChanged(bool absn)
QPointer< QxrdUserScriptDialog > m_EditUserAbsorption
void onEnablePolarizationChanged(bool pol)
QSharedPointer< QxrdIntegrator > QxrdIntegratorPtr
QWeakPointer< QxrdIntegrator > QxrdIntegratorWPtr
QxrdIntegratorWPtr m_Integrator
QPointer< QxrdUserScriptDialog > m_EditUserGeometry
void valueChanged(bool val, int index)