MNE-CPP  0.1.9
A Framework for Electrophysiology
projectsettingsview.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef PROJECTSETTINGSVIEW_H
37 #define PROJECTSETTINGSVIEW_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../disp_global.h"
44 #include "abstractview.h"
45 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 //=============================================================================================================
51 // EIGEN INCLUDES
52 //=============================================================================================================
53 
54 //=============================================================================================================
55 // FORWARD DECLARATIONS
56 //=============================================================================================================
57 
58 namespace Ui {
59  class ProjectSettingsViewWidget;
60 }
61 
62 //=============================================================================================================
63 // DEFINE NAMESPACE DISPLIB
64 //=============================================================================================================
65 
66 namespace DISPLIB
67 {
68 
69 //=============================================================================================================
70 // DISPLIB FORWARD DECLARATIONS
71 //=============================================================================================================
72 
73 //=============================================================================================================
80 {
81  Q_OBJECT
82 
83 public:
84  explicit ProjectSettingsView(const QString& sSettingsPath = "",
85  const QString& sDataPath = "/TestData",
86  const QString& sCurrentProject = "TestProject",
87  const QString& sCurrentSubject = "TestSubject",
88  const QString& sCurrentParadigm = "UnknownParadigm",
89  QWidget *parent = 0);
91 
92  //=========================================================================================================
98  void setRecordingElapsedTime(int mSecsElapsed);
99 
100  //=========================================================================================================
106  QString getCurrentFileName();
107 
108  //=========================================================================================================
112  void triggerFileNameUpdate();
113 
114  //=========================================================================================================
118  void hideFileNameUi();
119 
120  //=========================================================================================================
124  void showFileNameUi();
125 
126  //=========================================================================================================
130  void hideParadigmUi();
131 
132  //=========================================================================================================
136  void showParadigmUi();
137 
138  //=========================================================================================================
142  void saveSettings();
143 
144  //=========================================================================================================
148  void loadSettings();
149 
150  //=========================================================================================================
154  void clearView();
155 
156 protected:
157  //=========================================================================================================
163  void updateGuiMode(GuiMode mode);
164 
165  //=========================================================================================================
171  void updateProcessingMode(ProcessingMode mode);
172 
173 private:
174  void connectGui();
175 
176  void addProject();
177  void addSubject();
178 
179  void deleteProject();
180  void deleteSubject();
181 
182  void paradigmChanged(const QString &sNewParadigm);
183 
184  void scanForProjects();
185  void scanForSubjects();
186 
187  void selectNewProject(const QString &sNewProject);
188  void selectNewSubject(const QString &sNewSubject);
189 
190  void updateFileName(bool currentTime = true);
191 
192  void onTimeChanged();
193  void onRecordingTimerStateChanged(bool state);
194 
195  void browseDirectories();
196 
197  Ui::ProjectSettingsViewWidget* m_pUi;
198 
199  QStringList m_sListProjects;
200  QStringList m_sListSubjects;
201 
202  QString m_sDataPath;
203  QString m_sCurrentProject;
204  QString m_sCurrentSubject;
205  QString m_sCurrentParadigm;
206  QString m_sFileName;
207 
208  int m_iRecordingTime;
210 signals:
211  void timerChanged(int secs);
212  void recordingTimerStateChanged(bool state);
213  void newProject(const QString& sCurrentProject);
214  void newSubject(const QString& sCurrentSubject);
215  void newParadigm(const QString& sCurrentParadigm);
216  void fileNameChanged(const QString& sCurrentFileName);
217 };
218 } // NAMESPACE
219 
220 #endif // PROJECTSETTINGSVIEW_H
DISPSHARED_EXPORT
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
DISPLIB::AbstractView
The AbstractView class provides the base calss for all Disp viewers.
Definition: abstractview.h:75
DISPLIB::ProjectSettingsView
The ProjectSettingsView class provides a viewer to setup and manage the file name before the acquisit...
Definition: projectsettingsview.h:79
abstractview.h
Declaration of the AbstractView Class.