v2.0.0
Loading...
Searching...
No Matches
fiffrawviewsettings.cpp
Go to the documentation of this file.
1//=============================================================================================================
14
15//=============================================================================================================
16// INCLUDES
17//=============================================================================================================
18
19#include "fiffrawviewsettings.h"
20
21#include "ui_fiffrawviewsettings.h"
22
23//=============================================================================================================
24// QT INCLUDES
25//=============================================================================================================
26
27#include <QColorDialog>
28#include <QSettings>
29#include <QDebug>
30
31//=============================================================================================================
32// EIGEN INCLUDES
33//=============================================================================================================
34
35//=============================================================================================================
36// USED NAMESPACES
37//=============================================================================================================
38
39using namespace DISPLIB;
40
41//========================================= ====================================================================
42// DEFINE MEMBER METHODS
43//=============================================================================================================
44
45FiffRawViewSettings::FiffRawViewSettings(const QString& sSettingsPath,
46 QWidget* parent,
47 Qt::WindowFlags f)
48: AbstractView(parent, f)
49, m_pUi(std::make_unique<Ui::FiffRawViewSettingsWidget>())
50{
51 m_sSettingsPath = sSettingsPath;
52 m_pUi->setupUi(this);
53
54 this->setWindowTitle("Fiff Raw View Settings");
55 this->setMinimumWidth(330);
56
58
60}
61
62//=============================================================================================================
63
68
69//=============================================================================================================
70
71void FiffRawViewSettings::setWidgetList(const QStringList& lVisibleWidgets)
72{
73 if (lVisibleWidgets.contains("numberChannels", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
74 //Number of visible channels
75 connect(m_pUi->m_doubleSpinBox_numberVisibleChannels, static_cast<void (QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged),
77 } else {
78 m_pUi->m_doubleSpinBox_numberVisibleChannels->hide();
79 m_pUi->label_numberChannels->hide();
80 }
81
82 if (lVisibleWidgets.contains("windowSize", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
83 //Window size
84 connect(m_pUi->m_spinBox_windowSize, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
86 } else {
87 m_pUi->m_spinBox_windowSize->hide();
88 m_pUi->label_windowSize->hide();
89 }
90
91 if (lVisibleWidgets.contains("distanceSpacers", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
92 //Distance for timer spacer
93 connect(m_pUi->m_comboBox_distaceTimeSpacer, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
95 } else {
96 m_pUi->m_comboBox_distaceTimeSpacer->hide();
97 m_pUi->label_timeSpacers->hide();
98 }
99
100 if (lVisibleWidgets.contains("backgroundColor", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
101 //Background Colors
102 connect(m_pUi->m_pushButton_backgroundColor, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
104 } else {
105 m_pUi->m_pushButton_backgroundColor->hide();
106 m_pUi->label_backgroundColor->hide();
107 }
108
109 if (lVisibleWidgets.contains("signalColor", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
110 //Signal Colors
111 connect(m_pUi->m_pushButton_signalColor, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
113 } else {
114 m_pUi->m_pushButton_signalColor->hide();
115 m_pUi->label_signalColor->hide();
116 }
117
118 if (lVisibleWidgets.contains("screenshot", Qt::CaseInsensitive) || lVisibleWidgets.isEmpty()) {
119 //Signal Colors
120 connect(m_pUi->m_pushButton_makeScreenshot, static_cast<void (QPushButton::*)(bool)>(&QPushButton::clicked),
122 } else {
123 m_pUi->m_pushButton_makeScreenshot->hide();
124 m_pUi->m_comboBox_imageType->hide();
125 }
126
127 this->adjustSize();
128}
129
130//=============================================================================================================
131
133{
134 m_pUi->m_spinBox_windowSize->setValue(windowSize);
135}
136
137//=============================================================================================================
138
139void FiffRawViewSettings::setZoom(double zoomFactor)
140{
141 m_pUi->m_doubleSpinBox_numberVisibleChannels->setValue(zoomFactor);
142}
143
144//=============================================================================================================
145
147{
148 return m_pUi->m_comboBox_distaceTimeSpacer->currentText().toInt();
149}
150
151//=============================================================================================================
152
154{
155 m_pUi->m_comboBox_distaceTimeSpacer->setCurrentText(QString::number(value));
156}
157
158//=============================================================================================================
159
160void FiffRawViewSettings::setBackgroundColor(const QColor& backgroundColor)
161{
162 m_pUi->m_pushButton_backgroundColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(backgroundColor.red()).arg(backgroundColor.green()).arg(backgroundColor.blue()));
163
164 m_colCurrentBackgroundColor = backgroundColor;
165}
166
167//=============================================================================================================
168
169void FiffRawViewSettings::setSignalColor(const QColor& signalColor)
170{
171 m_pUi->m_pushButton_signalColor->setStyleSheet(QString("background-color: rgb(%1, %2, %3);").arg(signalColor.red()).arg(signalColor.green()).arg(signalColor.blue()));
172
173 m_colCurrentSignalColor = signalColor;
174}
175
176//=============================================================================================================
177
182
183//=============================================================================================================
184
189
190//=============================================================================================================
191
193{
194 return m_pUi->m_doubleSpinBox_numberVisibleChannels->value();
195}
196
197//=============================================================================================================
198
200{
201 return m_pUi->m_spinBox_windowSize->value();
202}
203
204//=============================================================================================================
205
207{
208 if (m_sSettingsPath.isEmpty()) {
209 return;
210 }
211
212 QSettings settings("MNECPP");
213
214 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/viewZoomFactor"), getZoom());
215 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/viewWindowSize"), getWindowSize());
216 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/signalColor"), getSignalColor());
217 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/backgroundColor"), getBackgroundColor());
218 settings.setValue(m_sSettingsPath + QString("/FiffRawViewSettings/distanceTimeSpacer"), getDistanceTimeSpacer());
219}
220
221//=============================================================================================================
222
224{
225 if (m_sSettingsPath.isEmpty()) {
226 return;
227 }
228
229 QSettings settings("MNECPP");
230
231 m_pUi->m_doubleSpinBox_numberVisibleChannels->setValue(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/viewZoomFactor"), 16).toDouble());
232 m_pUi->m_spinBox_windowSize->setValue(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/viewWindowSize"), 10).toInt());
233
234 QColor colorDefault = Qt::blue;
235 m_colCurrentSignalColor = settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/signalColor"), colorDefault).value<QColor>();
236 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()));
237
238 colorDefault = Qt::white;
239 m_colCurrentBackgroundColor = settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/backgroundColor"), colorDefault).value<QColor>();
240 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()));
241
242 m_pUi->m_comboBox_distaceTimeSpacer->setCurrentText(QString::number(settings.value(m_sSettingsPath + QString("/FiffRawViewSettings/distanceTimeSpacer"), 1000).toInt()));
243}
244
245//=============================================================================================================
246
248{
249 switch (mode) {
251 break;
252 default: // default is research mode
253 break;
254 }
255}
256
257//=============================================================================================================
258
260{
261 switch (mode) {
263 break;
264 default: // default is realtime mode
265 break;
266 }
267}
268
269//=============================================================================================================
270
272{
273 switch (value) {
274 case 0:
276 break;
277
278 case 1:
280 break;
281
282 case 2:
284 break;
285
286 case 3:
287 emit distanceTimeSpacerChanged(1000);
288 break;
289 }
290
291 //emit updateConnectedView();
292
293 saveSettings();
294}
295
296//=============================================================================================================
297
299{
300 QColorDialog* pDialog = new QColorDialog(m_colCurrentSignalColor, this);
301
302 QObject* obj = sender();
303 if (obj == m_pUi->m_pushButton_signalColor) {
304 pDialog->setCurrentColor(m_colCurrentSignalColor);
305 pDialog->setWindowTitle("Signal Color");
306
307 pDialog->exec();
308 m_colCurrentSignalColor = pDialog->currentColor();
309
310 //Set color of button new new scene color
311 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()));
312
314 }
315
316 if (obj == m_pUi->m_pushButton_backgroundColor) {
317 pDialog->setCurrentColor(m_colCurrentBackgroundColor);
318 pDialog->setWindowTitle("Background Color");
319
320 pDialog->exec();
321 m_colCurrentBackgroundColor = pDialog->currentColor();
322
323 //Set color of button new new scene color
324 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()));
325
327 }
328
329 saveSettings();
330}
331
332//=============================================================================================================
333
335{
336 emit timeWindowChanged(value);
337
338 saveSettings();
339}
340
341//=============================================================================================================
342
344{
345 emit zoomChanged(value);
346
347 saveSettings();
348}
349
350//=============================================================================================================
351
353{
354 emit makeScreenshot(m_pUi->m_comboBox_imageType->currentText());
355}
356
357//=============================================================================================================
358
Display-style settings for the FIFF raw browser (zoom, time window, signal / background colours).
2-D display widgets and visualisation helpers (charts, topography, colour maps).
AbstractView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
std::unique_ptr< Ui::FiffRawViewSettingsWidget > m_pUi
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)