MNE-CPP  beta 1.0
rapmusictoolboxsetupwidget.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //*************************************************************************************************************
37 //=============================================================================================================
38 // INCLUDES
39 //=============================================================================================================
40 
43 
44 #include "../rapmusictoolbox.h"
45 
46 #include <fs/annotationset.h>
47 #include <fs/surfaceset.h>
49 
50 
51 //*************************************************************************************************************
52 //=============================================================================================================
53 // QT INCLUDES
54 //=============================================================================================================
55 
56 #include <QDebug>
57 #include <QFileDialog>
58 #include <QtConcurrent>
59 
60 
61 //*************************************************************************************************************
62 //=============================================================================================================
63 // USED NAMESPACES
64 //=============================================================================================================
65 
66 using namespace RapMusicToolboxPlugin;
67 
68 
69 //*************************************************************************************************************
70 //=============================================================================================================
71 // DEFINE MEMBER METHODS
72 //=============================================================================================================
73 
75 : QWidget(parent)
76 , m_pRapMusicToolbox(toolbox)
77 {
78  ui.setupUi(this);
79 
80  ui.m_qLineEdit_FwdFileName->setText(m_pRapMusicToolbox->m_qFileFwdSolution.fileName());
81 
82  ui.m_qLineEdit_AtlasDirName->setText(m_pRapMusicToolbox->m_sAtlasDir);
83  if(m_pRapMusicToolbox->m_pAnnotationSet->isEmpty())
84  ui.m_qLabel_atlasStat->setText("not loaded");
85  else
86  ui.m_qLabel_atlasStat->setText("loaded");
87 
88  ui.m_qLineEdit_SurfaceDirName->setText(m_pRapMusicToolbox->m_sSurfaceDir);
89  if(m_pRapMusicToolbox->m_pSurfaceSet->isEmpty())
90  ui.m_qLabel_surfaceStat->setText("not loaded");
91  else
92  ui.m_qLabel_surfaceStat->setText("loaded");
93 
94  connect(ui.m_qPushButton_About, &QPushButton::released, this, &RapMusicToolboxSetupWidget::showAboutDialog);
95  connect(ui.m_qPushButton_FwdFileDialog, &QPushButton::released, this, &RapMusicToolboxSetupWidget::showFwdFileDialog);
96  connect(ui.m_qPushButton_AtlasDirDialog, &QPushButton::released, this, &RapMusicToolboxSetupWidget::showAtlasDirDialog);
97  connect(ui.m_qPushButton_SurfaceDirDialog, &QPushButton::released, this, &RapMusicToolboxSetupWidget::showSurfaceDirDialog);
98  connect(ui.m_qPushButonStartClustering, &QPushButton::released, this, &RapMusicToolboxSetupWidget::clusteringTriggered);
99 }
100 
101 
102 //*************************************************************************************************************
103 
105 {
106 
107 }
108 
109 
110 //*************************************************************************************************************
111 
113 {
114  ui.m_qPushButonStartClustering->setEnabled(false);
115  ui.m_qPushButonStartClustering->setText("Clustering...");
116 }
117 
118 
119 //*************************************************************************************************************
120 
122 {
123  ui.m_qPushButonStartClustering->setEnabled(true);
124  ui.m_qPushButonStartClustering->setText("Start Clustering");
125 }
126 
127 
128 //*************************************************************************************************************
129 
130 void RapMusicToolboxSetupWidget::clusteringTriggered()
131 {
132  // start clustering
133  QFuture<void> future = QtConcurrent::run(m_pRapMusicToolbox, &RapMusicToolbox::doClustering);
134 }
135 
136 
137 //*************************************************************************************************************
138 
139 void RapMusicToolboxSetupWidget::showAboutDialog()
140 {
141  RapMusicToolboxAboutWidget aboutDialog(this);
142  aboutDialog.exec();
143 }
144 
145 
146 //*************************************************************************************************************
147 
148 void RapMusicToolboxSetupWidget::showFwdFileDialog()
149 {
150  QString t_sFileName = QFileDialog::getOpenFileName(this,
151  tr("Open Forward Solution"),
152  QString(),
153  tr("Fif Files (*.fif)"));
154 
155  QFile file(t_sFileName);
157 
158  if(!t_pFwd->isEmpty())
159  {
160  ui.m_qLineEdit_FwdFileName->setText(t_sFileName);
161  m_pRapMusicToolbox->m_qFileFwdSolution.setFileName(t_sFileName);
162  m_pRapMusicToolbox->m_pFwd = t_pFwd;
163  }
164 }
165 
166 
167 //*************************************************************************************************************
168 
169 void RapMusicToolboxSetupWidget::showAtlasDirDialog()
170 {
171  QString t_sAtlasDir = QFileDialog::getExistingDirectory(this, tr("Open Atlas Directory"),
172  QString(),
173  QFileDialog::ShowDirsOnly
174  | QFileDialog::DontResolveSymlinks);
175 
176  m_pRapMusicToolbox->m_sAtlasDir = t_sAtlasDir;
177 
178  ui.m_qLineEdit_AtlasDirName->setText(m_pRapMusicToolbox->m_sAtlasDir);
179 
180  AnnotationSet::SPtr t_pAnnotationSet = AnnotationSet::SPtr(new AnnotationSet(t_sAtlasDir+"/lh.aparc.a2009s.annot", t_sAtlasDir+"/rh.aparc.a2009s.annot"));
181 
182  if(!t_pAnnotationSet->isEmpty() && t_pAnnotationSet->size() == 2)
183  {
184  m_pRapMusicToolbox->m_pAnnotationSet = t_pAnnotationSet;
185 
186  m_pRapMusicToolbox->m_sAtlasDir = t_sAtlasDir;
187 
188  ui.m_qLabel_atlasStat->setText("loaded");
189  }
190  else
191  {
192  m_pRapMusicToolbox->m_pAnnotationSet = AnnotationSet::SPtr(new AnnotationSet());
193  ui.m_qLabel_atlasStat->setText("not loaded");
194  }
195 }
196 
197 
198 //*************************************************************************************************************
199 
200 void RapMusicToolboxSetupWidget::showSurfaceDirDialog()
201 {
202  QString t_sSurfaceDir = QFileDialog::getExistingDirectory( this, tr("Open Surface Directory"),
203  QString(),
204  QFileDialog::ShowDirsOnly
205  | QFileDialog::DontResolveSymlinks);
206 
207  SurfaceSet::SPtr t_pSurfaceSet = SurfaceSet::SPtr(new SurfaceSet(t_sSurfaceDir+"/lh.white", t_sSurfaceDir+"/rh.white"));
208 
209  if(!t_pSurfaceSet->isEmpty() && t_pSurfaceSet->size() == 2)
210  {
211  m_pRapMusicToolbox->m_pSurfaceSet = t_pSurfaceSet;
212 
213  m_pRapMusicToolbox->m_sSurfaceDir = t_sSurfaceDir;
214 
215  ui.m_qLabel_surfaceStat->setText("loaded");
216  }
217  else
218  {
219  m_pRapMusicToolbox->m_pSurfaceSet = SurfaceSet::SPtr(new SurfaceSet());
220  ui.m_qLabel_surfaceStat->setText("not loaded");
221  }
222 }
SurfaceSet class declaration.
QSharedPointer< MNEForwardSolution > SPtr
Contains the declaration of the RapMusicToolboxAboutWidget class.
The RapMusicToolboxAboutWidget class provides the about dialog for the RapMusicToolbox.
MNEForwardSolution class declaration, which provides the forward solution including the source space ...
The RapMusicToolbox class provides a dummy algorithm structure.
Annotation set.
Definition: annotationset.h:96
QSharedPointer< SurfaceSet > SPtr
Definition: surfaceset.h:86
RapMusicToolboxSetupWidget(RapMusicToolbox *toolbox, QWidget *parent=0)
QSharedPointer< AnnotationSet > SPtr
Definition: annotationset.h:99
AnnotationSet class declaration.
Contains the declaration of the RapMusicToolboxSetupWidget class.
A hemisphere set of surfaces.
Definition: surfaceset.h:83