43 #include "../ecgsimulator.h"
70 , m_pECGSimulator(simulator)
74 connect(ui.m_qDoubleSpinBox_SamplingRate, static_cast<void (QDoubleSpinBox::*)(
double)>(&QDoubleSpinBox::valueChanged),
75 this, &ECGSetupWidget::setSamplingRate);
76 connect(ui.m_qSpinBox_Downsampling, static_cast<void (QSpinBox::*)(
int)>(&QSpinBox::valueChanged),
77 this, &ECGSetupWidget::setDownsamplingRate);
80 QString path(m_pECGSimulator->m_qStringResourcePath+
"data/");
82 QDir directory = QDir(path);
84 QString fileName(
"*.txt");
85 files = directory.entryList(QStringList(fileName),
86 QDir::Files | QDir::NoSymLinks);
88 ui.m_qComboBox_Channel_1->addItems(files);
89 ui.m_qComboBox_Channel_2->addItems(files);
90 ui.m_qComboBox_Channel_3->addItems(files);
92 connect(ui.m_qComboBox_Channel_1, static_cast<void (QComboBox::*)(
int)>(&QComboBox::currentIndexChanged),
93 this, &ECGSetupWidget::setFileOfChannel_I);
94 connect(ui.m_qComboBox_Channel_2, static_cast<void (QComboBox::*)(
int)>(&QComboBox::currentIndexChanged),
95 this, &ECGSetupWidget::setFileOfChannel_II);
96 connect(ui.m_qComboBox_Channel_3, static_cast<void (QComboBox::*)(
int)>(&QComboBox::currentIndexChanged),
97 this, &ECGSetupWidget::setFileOfChannel_III);
99 connect(ui.m_qCheckBox_Channel_Enable_1, &QCheckBox::toggled,
this, &ECGSetupWidget::setEnabledChannel_I);
100 connect(ui.m_qCheckBox_Channel_Enable_2, &QCheckBox::toggled,
this, &ECGSetupWidget::setEnabledChannel_II);
101 connect(ui.m_qCheckBox_Channel_Enable_3, &QCheckBox::toggled,
this, &ECGSetupWidget::setEnabledChannel_III);
103 connect(ui.m_qCheckBox_Channel_Visible_1, &QCheckBox::toggled,
this, &ECGSetupWidget::setVisibleChannel_I);
104 connect(ui.m_qCheckBox_Channel_Visible_2, &QCheckBox::toggled,
this, &ECGSetupWidget::setVisibleChannel_II);
105 connect(ui.m_qCheckBox_Channel_Visible_3, &QCheckBox::toggled,
this, &ECGSetupWidget::setVisibleChannel_III);
107 connect(ui.m_qPushButton_About, &QPushButton::released,
this, &ECGSetupWidget::showAboutDialog);
110 QFile file(m_pECGSimulator->m_qStringResourcePath+
"readme.txt");
111 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
114 QTextStream in(&file);
115 while (!in.atEnd()) {
116 QString line = in.readLine();
117 ui.m_qTextBrowser_Information->insertHtml(line);
118 ui.m_qTextBrowser_Information->insertHtml(
"<br>");
135 ui.m_qDoubleSpinBox_SamplingRate->setValue(m_pECGSimulator->m_fSamplingRate);
136 ui.m_qSpinBox_Downsampling->setValue(m_pECGSimulator->m_iDownsamplingFactor);
145 idx = ui.m_qComboBox_Channel_1->findText(m_pECGSimulator->m_pECGChannel_ECG_I->getChannelFile());
147 ui.m_qComboBox_Channel_1->setCurrentIndex(idx);
149 idx = ui.m_qComboBox_Channel_2->findText(m_pECGSimulator->m_pECGChannel_ECG_II->getChannelFile());
151 ui.m_qComboBox_Channel_2->setCurrentIndex(idx);
153 idx = ui.m_qComboBox_Channel_3->findText(m_pECGSimulator->m_pECGChannel_ECG_III->getChannelFile());
155 ui.m_qComboBox_Channel_3->setCurrentIndex(idx);
164 setEnabledChannel_I(m_pECGSimulator->m_pECGChannel_ECG_I->isEnabled());
165 setVisibleChannel_I(m_pECGSimulator->m_pECGChannel_ECG_I->isVisible());
167 setEnabledChannel_II(m_pECGSimulator->m_pECGChannel_ECG_II->isEnabled());
168 setVisibleChannel_II(m_pECGSimulator->m_pECGChannel_ECG_II->isVisible());
170 setEnabledChannel_III(m_pECGSimulator->m_pECGChannel_ECG_III->isEnabled());
171 setVisibleChannel_III(m_pECGSimulator->m_pECGChannel_ECG_III->isVisible());
178 void ECGSetupWidget::setSamplingRate(
double value)
180 m_pECGSimulator->m_fSamplingRate = value;
186 void ECGSetupWidget::setDownsamplingRate(
int value)
188 m_pECGSimulator->m_iDownsamplingFactor = value;
193 void ECGSetupWidget::setEnabledChannel_I(
bool state)
195 m_pECGSimulator->m_pECGChannel_ECG_I->setEnabled(state);
196 ui.m_qCheckBox_Channel_Enable_1->setChecked(state);
197 ui.m_qLabel_Channel_1->setEnabled(state);
198 ui.m_qCheckBox_Channel_Visible_1->setEnabled(state);
199 ui.m_qComboBox_Channel_1->setEnabled(state);
205 void ECGSetupWidget::setEnabledChannel_II(
bool state)
207 m_pECGSimulator->m_pECGChannel_ECG_II->setEnabled(state);
208 ui.m_qCheckBox_Channel_Enable_2->setChecked(state);
209 ui.m_qLabel_Channel_2->setEnabled(state);
210 ui.m_qCheckBox_Channel_Visible_2->setEnabled(state);
211 ui.m_qComboBox_Channel_2->setEnabled(state);
217 void ECGSetupWidget::setEnabledChannel_III(
bool state)
219 m_pECGSimulator->m_pECGChannel_ECG_III->setEnabled(state);
220 ui.m_qCheckBox_Channel_Enable_3->setChecked(state);
221 ui.m_qLabel_Channel_3->setEnabled(state);
222 ui.m_qCheckBox_Channel_Visible_3->setEnabled(state);
223 ui.m_qComboBox_Channel_3->setEnabled(state);
229 void ECGSetupWidget::setVisibleChannel_I(
bool state)
231 m_pECGSimulator->m_pECGChannel_ECG_I->setVisible(state);
232 ui.m_qCheckBox_Channel_Visible_1->setChecked(state);
238 void ECGSetupWidget::setVisibleChannel_II(
bool state)
240 m_pECGSimulator->m_pECGChannel_ECG_II->setVisible(state);
241 ui.m_qCheckBox_Channel_Visible_2->setChecked(state);
247 void ECGSetupWidget::setVisibleChannel_III(
bool state)
249 m_pECGSimulator->m_pECGChannel_ECG_III->setVisible(state);
250 ui.m_qCheckBox_Channel_Visible_3->setChecked(state);
256 void ECGSetupWidget::setFileOfChannel_I(qint32)
258 m_pECGSimulator->m_pECGChannel_ECG_I->setChannelFile(ui.m_qComboBox_Channel_1->currentText());
264 void ECGSetupWidget::setFileOfChannel_II(qint32)
266 m_pECGSimulator->m_pECGChannel_ECG_II->setChannelFile(ui.m_qComboBox_Channel_2->currentText());
272 void ECGSetupWidget::setFileOfChannel_III(qint32)
274 m_pECGSimulator->m_pECGChannel_ECG_III->setChannelFile(ui.m_qComboBox_Channel_3->currentText());
280 void ECGSetupWidget::showAboutDialog()
The ECGSimulator class provides a ECG simulator.