MNE-CPP  beta 1.0
fiffsimulatorsetupwidget.cpp
1 //=============================================================================================================
36 //*************************************************************************************************************
37 //=============================================================================================================
38 // INCLUDES
39 //=============================================================================================================
40 
43 
44 #include "../fiffsimulator.h"
45 
46 
47 //*************************************************************************************************************
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QDir>
53 #include <QDebug>
54 #include <QComboBox>
55 
56 
57 //*************************************************************************************************************
58 //=============================================================================================================
59 // USED NAMESPACES
60 //=============================================================================================================
61 
62 using namespace FiffSimulatorPlugin;
63 
64 
65 //*************************************************************************************************************
66 //=============================================================================================================
67 // DEFINE MEMBER METHODS
68 //=============================================================================================================
69 
71 : QWidget(parent)
72 , m_pFiffSimulator(p_pFiffSimulator)
73 , m_bIsInit(false)
74 {
75  ui.setupUi(this);
76 
77  //rt server connection
78  this->ui.m_qLineEdit_Ip->setText(m_pFiffSimulator->m_sFiffSimulatorIP);
79 
80  connect(ui.m_qPushButton_Connect, &QPushButton::released, this, &FiffSimulatorSetupWidget::pressedConnect);
81 
82  connect(m_pFiffSimulator, &FiffSimulator::cmdConnectionChanged, this, &FiffSimulatorSetupWidget::cmdConnectionChanged);
83 
84  //rt server fiffInfo received
86 
87  //Buffer
88  connect(ui.m_qLineEdit_BufferSize, &QLineEdit::editingFinished, this, &FiffSimulatorSetupWidget::bufferSizeEdited);
89 
90  //CLI
91  connect(ui.m_qPushButton_SendCLI, &QPushButton::released, this, &FiffSimulatorSetupWidget::pressedSendCLI);
92 
93  //About
94  connect(ui.m_qPushButton_About, &QPushButton::released, this, &FiffSimulatorSetupWidget::showAboutDialog);
95 
96  this->init();
97 }
98 
99 
100 //*************************************************************************************************************
101 
103 {
104 
105 }
106 
107 
108 //*************************************************************************************************************
109 
111 {
112  cmdConnectionChanged(m_pFiffSimulator->m_bCmdClientIsConnected);
113 }
114 
115 
116 //*************************************************************************************************************
117 
119 {
120  bool t_bSuccess = false;
121  qint32 t_iBufferSize = ui.m_qLineEdit_BufferSize->text().toInt(&t_bSuccess);
122 
123  if(t_bSuccess && t_iBufferSize > 0)
124  m_pFiffSimulator->m_iBufferSize = t_iBufferSize;
125  else
126  ui.m_qLineEdit_BufferSize->setText(QString("%1").arg(m_pFiffSimulator->m_iBufferSize));
127 }
128 
129 
130 //*************************************************************************************************************
131 
133 {
134  if(m_pFiffSimulator->m_bCmdClientIsConnected)
135  m_pFiffSimulator->disconnectCmdClient();
136  else
137  {
138  m_pFiffSimulator->m_sFiffSimulatorIP = this->ui.m_qLineEdit_Ip->text();
139  m_pFiffSimulator->connectCmdClient();
140  }
141 }
142 
143 
144 //*************************************************************************************************************
145 
147 {
148  if(m_pFiffSimulator->m_bCmdClientIsConnected)
149  {
150  this->printToLog(this->ui.m_qLineEdit_SendCLI->text());
151  QString t_sReply = m_pFiffSimulator->m_pRtCmdClient->sendCLICommand(this->ui.m_qLineEdit_SendCLI->text());
152  this->printToLog(t_sReply);
153  }
154 }
155 
156 
157 //*************************************************************************************************************
158 
160 {
161  ui.m_qTextBrowser_ServerMessage->insertPlainText(logMsg+"\n");
162  //scroll down to the newest entry
163  QTextCursor c = ui.m_qTextBrowser_ServerMessage->textCursor();
164  c.movePosition(QTextCursor::End);
165  ui.m_qTextBrowser_ServerMessage->setTextCursor(c);
166 }
167 
168 
169 //*************************************************************************************************************
170 
171 void FiffSimulatorSetupWidget::cmdConnectionChanged(bool p_bConnectionStatus)
172 {
173  m_bIsInit = false;
174 
175  if(p_bConnectionStatus)
176  {
177  //
178  // set frequency txt
179  //
180  if(m_pFiffSimulator->m_pFiffInfo)
181  this->ui.m_qLabel_sps->setText(QString("%1").arg(m_pFiffSimulator->m_pFiffInfo->sfreq));
182 
183  //
184  // set buffer size txt
185  //
186  this->ui.m_qLineEdit_BufferSize->setText(QString("%1").arg(m_pFiffSimulator->m_iBufferSize));
187 
188  //
189  // set connectors
190  //
191 // QMap<qint32, QString>::ConstIterator it = m_pFiffSimulator->m_qMapConnectors.begin();
192 // qint32 idx = 0;
193 
194 // for(; it != m_pFiffSimulator->m_qMapConnectors.end(); ++it)
195 // {
196 // if(this->ui.m_qComboBox_Connector->findData(it.key()) == -1)
197 // {
198 // this->ui.m_qComboBox_Connector->insertItem(idx, it.value(), it.key());
199 // ++idx;
200 // }
201 // else
202 // idx = this->ui.m_qComboBox_Connector->findData(it.key()) + 1;
203 // }
204 // this->ui.m_qComboBox_Connector->setCurrentIndex(this->ui.m_qComboBox_Connector->findData(m_pFiffSimulator->m_iActiveConnectorId));
205 
206  //UI enables/disables
207  this->ui.m_qLabel_ConnectionStatus->setText(QString("Connected"));
208  this->ui.m_qLineEdit_Ip->setEnabled(false);
209  this->ui.m_qPushButton_Connect->setText(QString("Disconnect"));
210  this->ui.m_qLineEdit_SendCLI->setEnabled(true);
211  this->ui.m_qPushButton_SendCLI->setEnabled(true);
212 
213  m_bIsInit = true;
214  }
215  else
216  {
217  //clear connectors --> ToDO create a clear function
218  m_pFiffSimulator->m_qMapConnectors.clear();
219 // this->ui.m_qComboBox_Connector->clear();
220  m_pFiffSimulator->m_iBufferSize = -1;
221 
222  //UI enables/disables
223  this->ui.m_qLabel_ConnectionStatus->setText(QString("Not connected"));
224  this->ui.m_qLineEdit_Ip->setEnabled(true);
225  this->ui.m_qPushButton_Connect->setText(QString("Connect"));
226  this->ui.m_qLineEdit_SendCLI->setEnabled(false);
227  this->ui.m_qPushButton_SendCLI->setEnabled(false);
228 
229  this->ui.m_qLineEdit_BufferSize->setText(QString(""));
230 
231  }
232 }
233 
234 
235 //*************************************************************************************************************
236 
238 {
239  if(m_pFiffSimulator->m_pFiffInfo)
240  this->ui.m_qLabel_sps->setText(QString("%1").arg(m_pFiffSimulator->m_pFiffInfo->sfreq));
241 }
242 
243 
244 //*************************************************************************************************************
245 
246 void FiffSimulatorSetupWidget::showAboutDialog()
247 {
248  FiffSimulatorAboutWidget aboutDialog(this);
249  aboutDialog.exec();
250 }
The FiffSimulatorAboutWidget class provides the about dialog for the FiffSimulator.
Contains the declaration of the FiffSimulatorAboutWidget class.
void cmdConnectionChanged(bool p_bStatus)
FiffSimulatorSetupWidget(FiffSimulator *p_pFiffSimulator, QWidget *parent=0)
The FiffSimulator class provides a Fiff data simulator.
Definition: fiffsimulator.h:97
Contains the declaration of the FiffSimulatorSetupWidget class.