MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
fiffrawviewsettings.cpp
Go to the documentation of this file.
1//=============================================================================================================
35//=============================================================================================================
36// INCLUDES
37//=============================================================================================================
38
39#include "fiffrawviewsettings.h"
40
41#include "ui_fiffrawviewsettings.h"
42
43//=============================================================================================================
44// QT INCLUDES
45//=============================================================================================================
46
47#include <QColorDialog>
48#include <QSettings>
49#include <QDebug>
50
51//=============================================================================================================
52// EIGEN INCLUDES
53//=============================================================================================================
54
55//=============================================================================================================
56// USED NAMESPACES
57//=============================================================================================================
58
59using namespace DISPLIB;
60
61//========================================= ====================================================================
62// DEFINE MEMBER METHODS
63//=============================================================================================================
64
65FiffRawViewSettings::FiffRawViewSettings(const QString &sSettingsPath,
66 QWidget *parent,
67 Qt::WindowFlags f)
68: AbstractView(parent, f)
69, m_pUi(new Ui::FiffRawViewSettingsWidget)
70{
71 m_sSettingsPath = sSettingsPath;
72 m_pUi->setupUi(this);
73
74 this->setWindowTitle("Fiff Raw View Settings");
75 this->setMinimumWidth(330);
76
78
80}
81
82//=============================================================================================================
83
89
90//=============================================================================================================
91
92void FiffRawViewSettings::setWidgetList(const QStringList& lVisibleWidgets)
93{
94 if(lVisibleWidgets.contains("numberChannels", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
95 //Number of visible channels
96 connect(m_pUi->m_doubleSpinBox_numberVisibleChannels, static_cast<void (QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged),
98 } else {
99 m_pUi->m_doubleSpinBox_numberVisibleChannels->hide();
100 m_pUi->label_numberChannels->hide();
101 }
102
103 if(lVisibleWidgets.contains("windowSize", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
104 //Window size
105 connect(m_pUi->m_spinBox_windowSize, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
107 } else {
108 m_pUi->m_spinBox_windowSize->hide();
109 m_pUi->label_windowSize->hide();
110 }
111
112 if(lVisibleWidgets.contains("distanceSpacers", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
113 //Distance for timer spacer
114 connect(m_pUi->m_comboBox_distaceTimeSpacer, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
116 } else {
117 m_pUi->m_comboBox_distaceTimeSpacer->hide();
118 m_pUi->label_timeSpacers->hide();
119 }
120
121 if(lVisibleWidgets.contains("backgroundColor", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
122 //Background Colors
123 connect(m_pUi->m_pushButton_backgroundColor, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
125 } else {
126 m_pUi->m_pushButton_backgroundColor->hide();
127 m_pUi->label_backgroundColor->hide();
128 }
129
130 if(lVisibleWidgets.contains("signalColor", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
131 //Signal Colors
132 connect(m_pUi->m_pushButton_signalColor, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
134 } else {
135 m_pUi->m_pushButton_signalColor->hide();
136 m_pUi->label_signalColor->hide();
137 }
138
139 if(lVisibleWidgets.contains("screenshot", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
140 //Signal Colors
141 connect(m_pUi->m_pushButton_makeScreenshot, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
143 } else {
144 m_pUi->m_pushButton_makeScreenshot->hide();
145 m_pUi->m_comboBox_imageType->hide();
146 }
147
148 this->adjustSize();
149}
150
151//=============================================================================================================
152
154{
155 m_pUi->m_spinBox_windowSize->setValue(windowSize);
156}
157
158//=============================================================================================================
159
160void FiffRawViewSettings::setZoom(double zoomFactor)
161{
162 m_pUi->m_doubleSpinBox_numberVisibleChannels->setValue(zoomFactor);
163}
164
165//=============================================================================================================
166
168{
169 return m_pUi->m_comboBox_distaceTimeSpacer->currentText().toInt();
170}
171
172//=============================================================================================================
173
175{
176 m_pUi->m_comboBox_distaceTimeSpacer->setCurrentText(QString::number(value));
177}
178
179//=============================================================================================================
180
181void FiffRawViewSettings::setBackgroundColor(const QColor& backgroundColor)
182{
183 m_pUi->m_pushButton_backgroundColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(backgroundColor.red()).arg(backgroundColor.green()).arg(backgroundColor.blue()));
184
185 m_colCurrentBackgroundColor = backgroundColor;
186}
187
188//=============================================================================================================
189
190void FiffRawViewSettings::setSignalColor(const QColor& signalColor)
191{
192 m_pUi->m_pushButton_signalColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(signalColor.red()).arg(signalColor.green()).arg(signalColor.blue()));
193
194 m_colCurrentSignalColor = signalColor;
195}
196
197//=============================================================================================================
198
203
204//=============================================================================================================
205
210
211//=============================================================================================================
212
214{
215 return m_pUi->m_doubleSpinBox_numberVisibleChannels->value();
216}
217
218//=============================================================================================================
219
221{
222 return m_pUi->m_spinBox_windowSize->value();
223}
224
225//=============================================================================================================
226
228{
229 if(m_sSettingsPath.isEmpty()) {
230 return;
231 }
232
233 QSettings settings("MNECPP");
234
235 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/viewZoomFactor"), getZoom());
236 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/viewWindowSize"), getWindowSize());
237 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/signalColor"), getSignalColor());
238 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/backgroundColor"), getBackgroundColor());
239 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/distanceTimeSpacer"), getDistanceTimeSpacer());
240}
241
242//=============================================================================================================
243
245{
246 if(m_sSettingsPath.isEmpty()) {
247 return;
248 }
249
250 QSettings settings("MNECPP");
251
252 m_pUi->m_doubleSpinBox_numberVisibleChannels->setValue(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/viewZoomFactor"), 16).toDouble());
253 m_pUi->m_spinBox_windowSize->setValue(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/viewWindowSize"), 10).toInt());
254
255 QColor colorDefault = Qt::blue;
256 m_colCurrentSignalColor = settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/signalColor"), colorDefault).value<QColor>();
257 m_pUi->m_pushButton_signalColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(m_colCurrentSignalColor.red()).arg(m_colCurrentSignalColor.green()).arg(m_colCurrentSignalColor.blue()));
258
259 colorDefault = Qt::white;
260 m_colCurrentBackgroundColor = settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/backgroundColor"), colorDefault).value<QColor>();
261 m_pUi->m_pushButton_backgroundColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(m_colCurrentBackgroundColor.red()).arg(m_colCurrentBackgroundColor.green()).arg(m_colCurrentBackgroundColor.blue()));
262
263 m_pUi->m_comboBox_distaceTimeSpacer->setCurrentText(QString::number(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/distanceTimeSpacer"), 1000).toInt()));
264}
265
266//=============================================================================================================
267
269{
270 switch(mode) {
271 case GuiMode::Clinical:
272 break;
273 default: // default is research mode
274 break;
275 }
276}
277
278//=============================================================================================================
279
281{
282 switch(mode) {
283 case ProcessingMode::Offline:
284 break;
285 default: // default is realtime mode
286 break;
287 }
288}
289
290//=============================================================================================================
291
293{
294 switch(value) {
295 case 0:
297 break;
298
299 case 1:
301 break;
302
303 case 2:
305 break;
306
307 case 3:
308 emit distanceTimeSpacerChanged(1000);
309 break;
310 }
311
312 //emit updateConnectedView();
313
314 saveSettings();
315}
316
317//=============================================================================================================
318
320{
321 QColorDialog* pDialog = new QColorDialog(m_colCurrentSignalColor, this);
322
323 QObject* obj = sender();
324 if(obj == m_pUi->m_pushButton_signalColor) {
325 pDialog->setCurrentColor(m_colCurrentSignalColor);
326 pDialog->setWindowTitle("Signal Color");
327
328 pDialog->exec();
329 m_colCurrentSignalColor = pDialog->currentColor();
330
331 //Set color of button new new scene color
332 m_pUi->m_pushButton_signalColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(m_colCurrentSignalColor.red()).arg(m_colCurrentSignalColor.green()).arg(m_colCurrentSignalColor.blue()));
333
335 }
336
337 if( obj == m_pUi->m_pushButton_backgroundColor ) {
338 pDialog->setCurrentColor(m_colCurrentBackgroundColor);
339 pDialog->setWindowTitle("Background Color");
340
341 pDialog->exec();
342 m_colCurrentBackgroundColor = pDialog->currentColor();
343
344 //Set color of button new new scene color
345 m_pUi->m_pushButton_backgroundColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(m_colCurrentBackgroundColor.red()).arg(m_colCurrentBackgroundColor.green()).arg(m_colCurrentBackgroundColor.blue()));
346
348 }
349
350 saveSettings();
351}
352
353//=============================================================================================================
354
356{
357 emit timeWindowChanged(value);
358
359 saveSettings();
360}
361
362//=============================================================================================================
363
365{
366 emit zoomChanged(value);
367
368 saveSettings();
369}
370
371//=============================================================================================================
372
374{
375 emit makeScreenshot(m_pUi->m_comboBox_imageType->currentText());
376}
377
378//=============================================================================================================
379
Declaration of the FiffRawViewSettings Class.
The AbstractView class provides the base calss for all Disp viewers.
void updateProcessingMode(ProcessingMode mode)
void backgroundColorChanged(const QColor &backgroundColor)
void makeScreenshot(const QString &imageType)
void setBackgroundColor(const QColor &backgroundColor)
FiffRawViewSettings(const QString &sSettingsPath="", QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void distanceTimeSpacerChanged(int value)
void timeWindowChanged(int value)
void setSignalColor(const QColor &signalColor)
void setWidgetList(const QStringList &lVisibleWidgets=QStringList())
void onDistanceTimeSpacerChanged(qint32 value)
void zoomChanged(double value)
void signalColorChanged(const QColor &signalColor)