MNE-CPP  0.1.9
A Framework for Electrophysiology
scalingview.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef SCALINGVIEW_H
36 #define SCALINGVIEW_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../disp_global.h"
43 #include "abstractview.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QMap>
50 #include <QPointer>
51 
52 //=============================================================================================================
53 // EIGEN INCLUDES
54 //=============================================================================================================
55 
56 //=============================================================================================================
57 // FORWARD DECLARATIONS
58 //=============================================================================================================
59 
60 class QCheckBox;
61 namespace Ui {
62  class ScalingViewWidget;
63 }
64 
65 //=============================================================================================================
66 // DEFINE NAMESPACE DISPLIB
67 //=============================================================================================================
68 
69 namespace DISPLIB
70 {
71 
72 //=============================================================================================================
73 // DISPLIB FORWARD DECLARATIONS
74 //=============================================================================================================
75 class ScaleControl;
76 
77 //=========================================================================================================
88 DISPSHARED_EXPORT float getDefaultScalingValue(int iChannelKind,
89  int iChannelUnit);
90 
91 //=========================================================================================================
104 DISPSHARED_EXPORT float getScalingValue(const QMap<qint32, float>& qMapChScaling,
105  int iChannelKind,
106  int iChannelUnit);
107 
108 
109 //=============================================================================================================
116 {
117  Q_OBJECT
118 
119 public:
120  typedef QSharedPointer<ScalingView> SPtr;
121  typedef QSharedPointer<const ScalingView> ConstSPtr;
123  //=========================================================================================================
129  ScalingView(const QString& sSettingsPath = "",
130  QWidget *parent = 0,
131  Qt::WindowFlags f = Qt::Widget,
132  const QStringList& lChannelsToShow = QStringList() << "all");
133 
134  //=========================================================================================================
138  ~ScalingView();
139 
140  //=========================================================================================================
146  QMap<qint32,float> getScaleMap() const;
147 
148  //=========================================================================================================
152  void setScaleMap(const QMap<qint32, float> &qMapChScaling);
153 
154  //=========================================================================================================
158  void saveSettings() override;
159 
160  //=========================================================================================================
164  void loadSettings() override;
165 
166  //=========================================================================================================
170  void clearView() override;
171 
172  //=========================================================================================================
178  void setMagGradLink(int l);
179 
180 signals:
181  //=========================================================================================================
188  void scalingChanged(const QMap<qint32, float>& scalingMap);
189 
190 private:
191 
192  //=============================================================================================================
196  void processScalingChange();
197 
198  //=============================================================================================================
202  void showLinkControl();
203 
204  //=============================================================================================================
210  void updateMAGScale(double dScale);
211 
212  //=========================================================================================================
218  void updateGRADScale(double dScale);
219 
220  //=========================================================================================================
226  void updateMAGtoGRADlink(double dScale);
227 
228  //=========================================================================================================
234  void updateEEGScale(double dScale);
235 
236  //=========================================================================================================
242  void updateEOGScale(double dScale);
243 
244  //=========================================================================================================
250  void updateEMGScale(double dScale);
251 
252  //=========================================================================================================
258  void updateECGScale(double dScale);
259 
260  //=========================================================================================================
266  void updateMISCScale(double dScale);
267 
268  //=========================================================================================================
274  void updateSTIMScale(double dScale);
275 
276  //=========================================================================================================
282  void updateGuiMode(GuiMode mode) override;
283 
284  //=========================================================================================================
290  void updateProcessingMode(ProcessingMode mode) override;
291 
292  //=========================================================================================================
296  void createScaleControls();
297 
298  //=========================================================================================================
302  void drawScalingGUI();
303 
304  //=========================================================================================================
308  void linkMagToGrad();
309 
310  //=========================================================================================================
314  void linkGradToMag();
315 
316  //=========================================================================================================
320  void createLinkMagGradCheckBox();
321 
322  //=========================================================================================================
328  void keyReleaseEvent(QKeyEvent* event) override;
329 
330  //=========================================================================================================
336  void keyPressEvent(QKeyEvent* event) override;
337 
338  QMap<qint32, float> m_qMapChScaling;
339  QMap<qint32, QPointer<ScaleControl> > m_qMapScaleControls;
341  QString m_sSettingsPath;
343  QStringList m_lChannelTypesToShow;
345  Ui::ScalingViewWidget* m_pUi;
346  bool m_bLinkMAGtoGRAD;
347  bool m_bIsShiftKeyPressed;
348  bool m_bManagingSpinBoxChange;
349  bool m_bManagingSliderChange;
350  bool m_bManagingLinkMagToGrad;
351  QPointer<QCheckBox> m_pCheckBox;
352 };
353 
354 } // NAMESPACE
355 
356 #endif // SCALINGVIEW_H
DISPSHARED_EXPORT float getDefaultScalingValue(int iChannelKind, int iChannelUnit)
Definition: scalingview.cpp:81
DISPSHARED_EXPORT float getScalingValue(const QMap< qint32, float > &qMapChScaling, int iChannelKind, int iChannelUnit)
The ScalingView class provides a view to select the scaling for different channels modalities...
Definition: scalingview.h:115
QSharedPointer< ScalingView > SPtr
Definition: scalingview.h:120
Definition: applytoview.h:58
QSharedPointer< const ScalingView > ConstSPtr
Definition: scalingview.h:121
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
The AbstractView class provides the base calss for all Disp viewers.
Definition: abstractview.h:75