MNE-CPP  beta 1.0
eegosportssetupwidget.cpp
Go to the documentation of this file.
1 //=============================================================================================================
37 //*************************************************************************************************************
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "eegosportssetupwidget.h"
43 #include "eegosportsaboutwidget.h"
44 #include "../eegosports.h"
45 
46 
47 //*************************************************************************************************************
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QDebug>
53 
54 
55 //*************************************************************************************************************
56 //=============================================================================================================
57 // USED NAMESPACES
58 //=============================================================================================================
59 
60 using namespace EEGoSportsPlugin;
61 
62 
63 //*************************************************************************************************************
64 //=============================================================================================================
65 // DEFINE MEMBER METHODS
66 //=============================================================================================================
67 
69 : QWidget(parent)
70 , m_pEEGoSports(pEEGoSports)
71 {
72  ui.setupUi(this);
73 
74  //Connect device sampling properties
75  connect(ui.m_spinBox_SamplingFreq, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
76  this, &EEGoSportsSetupWidget::setDeviceSamplingProperties);
77  connect(ui.m_spinBox_NumberOfChannels, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
78  this, &EEGoSportsSetupWidget::setDeviceSamplingProperties);
79 
80  //Connect channel corrections
81  connect(ui.m_checkBox_UseChExponent, static_cast<void (QCheckBox::*)(bool)>(&QCheckBox::clicked),
82  this, &EEGoSportsSetupWidget::setDeviceSamplingProperties);
83 
84  //Connect preprocessing
85  connect(ui.m_checkBox_UseFiltering, static_cast<void (QCheckBox::*)(bool)>(&QCheckBox::clicked),
86  this, &EEGoSportsSetupWidget::setPreprocessing);
87 
88  //Connect debug file
89  connect(ui.m_checkBox_WriteDriverDebugToFile, static_cast<void (QCheckBox::*)(bool)>(&QCheckBox::clicked),
90  this, &EEGoSportsSetupWidget::setWriteToFile);
91 
92  //Connect trigger properties
93  connect(ui.m_spinBox_BeepLength, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
94  this, &EEGoSportsSetupWidget::setTriggerProperties);
95  connect(ui.m_checkBox_EnableBeep, static_cast<void (QCheckBox::*)(bool)>(&QCheckBox::clicked),
96  this, &EEGoSportsSetupWidget::setTriggerProperties);
97  connect(ui.m_checkBox_EnableKeyboardTrigger, static_cast<void (QCheckBox::*)(bool)>(&QCheckBox::clicked),
98  this, &EEGoSportsSetupWidget::setTriggerProperties);
99 
100  //Connect about button
101  connect(ui.m_qPushButton_About, &QPushButton::released, this, &EEGoSportsSetupWidget::showAboutDialog);
102 
103  //Fill info box
104  QFile file(m_pEEGoSports->m_qStringResourcePath+"readme.txt");
105  if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
106  return;
107 
108  QTextStream in(&file);
109  while (!in.atEnd())
110  {
111  QString line = in.readLine();
112  ui.m_qTextBrowser_Information->insertHtml(line);
113  ui.m_qTextBrowser_Information->insertHtml("<br>");
114  }
115 }
116 
117 
118 //*************************************************************************************************************
119 
121 {
122 
123 }
124 
125 
126 //*************************************************************************************************************
127 
129 {
130  //Init device sampling properties
131  ui.m_spinBox_SamplingFreq->setValue(m_pEEGoSports->m_iSamplingFreq);
132  ui.m_spinBox_NumberOfChannels->setValue(m_pEEGoSports->m_iNumberOfChannels);
133 
134  //Init channel corrections
135  ui.m_checkBox_UseChExponent->setChecked(m_pEEGoSports->m_bUseChExponent);
136 
137  //Init preprocessing
138  ui.m_checkBox_UseFiltering->setChecked(m_pEEGoSports->m_bUseFiltering);
139 
140  //Init write to file
141  ui.m_checkBox_WriteDriverDebugToFile->setChecked(m_pEEGoSports->m_bWriteDriverDebugToFile);
142 
143  //Init trigger properties
144  ui.m_spinBox_BeepLength->setValue(m_pEEGoSports->m_iTriggerInterval);
145  ui.m_checkBox_EnableBeep->setChecked(m_pEEGoSports->m_bBeepTrigger);
146 }
147 
148 
149 //*************************************************************************************************************
150 
151 void EEGoSportsSetupWidget::setDeviceSamplingProperties()
152 {
153  m_pEEGoSports->m_iSamplingFreq = ui.m_spinBox_SamplingFreq->value();
154  m_pEEGoSports->m_iNumberOfChannels = ui.m_spinBox_NumberOfChannels->value();
155 
156  m_pEEGoSports->m_bUseChExponent = ui.m_checkBox_UseChExponent->isChecked();
157 }
158 
159 
160 //*************************************************************************************************************
161 
162 void EEGoSportsSetupWidget::setPreprocessing()
163 {
164  m_pEEGoSports->m_bUseFiltering = ui.m_checkBox_UseFiltering->isChecked();
165 }
166 
167 
168 //*************************************************************************************************************
169 
170 void EEGoSportsSetupWidget::setPostprocessing()
171 {
172 }
173 
174 
175 //*************************************************************************************************************
176 
177 void EEGoSportsSetupWidget::setWriteToFile()
178 {
179  m_pEEGoSports->m_bWriteDriverDebugToFile = ui.m_checkBox_WriteDriverDebugToFile->isChecked();
180 }
181 
182 //*************************************************************************************************************
183 
184 void EEGoSportsSetupWidget::setTriggerProperties()
185 {
186  m_pEEGoSports->m_iTriggerInterval = ui.m_spinBox_BeepLength->value();
187  m_pEEGoSports->m_bBeepTrigger = ui.m_checkBox_EnableBeep->isChecked();
188 }
189 
190 
191 //*************************************************************************************************************
192 
193 void EEGoSportsSetupWidget::showAboutDialog()
194 {
195  EEGoSportsAboutWidget aboutDialog(this);
196  aboutDialog.exec();
197 }
The EEGoSportsAboutWidget class provides the about dialog for the EEGoSports.
Contains the declaration of the EEGoSportsAboutWidget class.
EEGoSportsSetupWidget(EEGoSports *pEEGoSports, QWidget *parent=0)
The EEGoSports class provides a EEG connector. In order for this plugin to work properly the driver d...
Definition: eegosports.h:120
Contains the declaration of the EEGoSportsSetupWidget class.