MNE-CPP  beta 1.0
mainwindow.h
1 //=============================================================================================================
66 #ifndef MAINWINDOW_H
67 #define MAINWINDOW_H
68 
69 //*************************************************************************************************************
70 //=============================================================================================================
71 // INCLUDES
72 //=============================================================================================================
73 
74 #include "../Utils/info.h"
75 #include "../Utils/types.h"
76 #include "../Utils/rawsettings.h"
77 
78 #include "filterwindow.h"
79 #include "eventwindow.h"
80 #include "datawindow.h"
81 #include "aboutwindow.h"
82 #include "informationwindow.h"
83 #include "selectionmanagerwindow.h"
84 #include "averagewindow.h"
85 #include "scalewindow.h"
86 #include "chinfowindow.h"
87 #include "projectionwindow.h"
88 
89 
90 //*************************************************************************************************************
91 //=============================================================================================================
92 // Qt INCLUDES
93 //=============================================================================================================
94 
95 #include "ui_mainwindow.h"
96 
97 #include <QFileDialog>
98 #include <QScrollBar>
99 #include <QToolBar>
100 #include <QScroller>
101 #include <QTextBrowser>
102 #include <QMessageBox>
103 #include <QPixmap>
104 #include <QSignalMapper>
105 #include <QFutureWatcher>
106 #include <QProgressDialog>
107 #include <QMessageBox>
108 
109 
110 //*************************************************************************************************************
111 //=============================================================================================================
112 // MNE INCLUDES
113 //=============================================================================================================
114 
115 #include <fiff/fiff.h>
116 #include <mne/mne.h>
117 #include <utils/parksmcclellan.h>
118 
119 
120 //*************************************************************************************************************
121 //=============================================================================================================
122 // Eigen INCLUDES
123 //=============================================================================================================
124 
125 #include <Eigen/Core>
126 #include <Eigen/SparseCore>
127 
128 
129 //*************************************************************************************************************
130 //=============================================================================================================
131 // USED NAMESPACES
132 //=============================================================================================================
133 
134 using namespace Eigen;
135 
136 
137 //*************************************************************************************************************
138 //=============================================================================================================
139 // DEFINE NAMESPACE MNEBrowseRawQt
140 //=============================================================================================================
141 
142 namespace MNEBrowseRawQt
143 {
144 
145 
146 //*************************************************************************************************************
147 //=============================================================================================================
148 // DEFINE FORWARD DECLARATIONS
149 //=============================================================================================================
150 
151 class FilterWindow;
152 class EventWindow;
153 class DataWindow;
154 
155 
156 //=============================================================================================================
160 class MainWindow : public QMainWindow
161 {
162  friend class FilterWindow;
163  friend class EventWindow;
164  friend class DataWindow;
165 
166  Q_OBJECT
167 public:
168  MainWindow(QWidget *parent = 0);
169  ~MainWindow();
170 
171  //=========================================================================================================
179  void writeToLog(const QString& logMsg, LogKind lgknd, LogLevel lglvl);
180 
181 private slots:
182  //=========================================================================================================
186  void openFile();
187 
188  //=========================================================================================================
192  void writeFile();
193 
194  //=========================================================================================================
198  void loadEvents();
199 
200  //=========================================================================================================
204  void saveEvents();
205 
206  //=========================================================================================================
210  void loadEvoked();
211 
212  //=========================================================================================================
216  void showWindow(QWidget *window);
217 
218 private:
219  //=========================================================================================================
223  void setupWindowWidgets();
224 
225  //=========================================================================================================
229  void createToolBar();
230 
231  //=========================================================================================================
235  void connectMenus();
236 
237  //=========================================================================================================
243  void setLogLevel(LogLevel lvl);
244 
245  //=========================================================================================================
249  void setupMainWindow();
250 
251  //=========================================================================================================
255  void setWindowStatus();
256 
257  QFile m_qFileRaw;
258  QFile m_qEventFile;
259  QFile m_qEvokedFile;
260  QSignalMapper* m_qSignalMapper;
262  //Window widgets
263  EventWindow* m_pEventWindow;
264  FilterWindow* m_pFilterWindow;
265  DataWindow* m_pDataWindow;
266  AboutWindow* m_pAboutWindow;
267  InformationWindow* m_pInformationWindow;
268  SelectionManagerWindow* m_pSelectionManagerWindow;
269  AverageWindow* m_pAverageWindow;
270  ScaleWindow* m_pScaleWindow;
271  ChInfoWindow* m_pChInfoWindow;
272  ProjectionWindow* m_pProjectionWindow;
274  //application settings
275  QSettings m_qSettings;
276  RawSettings m_rawSettings;
278  Ui::MainWindowWidget* ui;
280  QAction* m_pRemoveDCAction;
281  QAction* m_pHideBadAction;
282 };
283 
284 } //NAMESPACE
285 
286 #endif // MAINWINDOW_H
Contains the declaration of the AverageWindow class.
The EventWindow class provides the event dock window.
Definition: eventwindow.h:80
The ChInfoWindow class provides a dock window for informations about every loaded channel...
Definition: chinfowindow.h:85
The AboutWindow class provides the about window.
Definition: aboutwindow.h:69
The SelectionManagerWindow class provides a channel selection window.
Contains the implementation of the DataWindow class.
Contains the implementation of the EventWindow class.
The ProjectionWindow class provides a dock window for managing SSP operator projcetions.
Contains the declaration of the ChInfoWindow class.
Contains the implementation of the InformationWindow class.
Contains the declaration of the ProjectionWindow class.
The DataWindow class provides the data dock window.
Definition: datawindow.h:85
The FilterWindow class provides the filter window.
Definition: filterwindow.h:82
The InformationWindow class provides a dockable InformationWindow window.
The AverageWindow class provides a dock window for plotting averages.
Definition: averagewindow.h:88
The ScaleWindow class provides the scale window.
Definition: scalewindow.h:84
Contains the declaration of the ScaleWindow class.
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...
Contains the declaration of the FilterWindow class.