MNE-CPP  beta 1.0
evokedmodalitywidget.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //*************************************************************************************************************
37 //=============================================================================================================
38 // INCLUDES
39 //=============================================================================================================
40 
41 #include "evokedmodalitywidget.h"
42 #include "../realtimeevokedwidget.h"
43 #include "sensoritem.h"
44 
45 
46 //*************************************************************************************************************
47 //=============================================================================================================
48 // Qt INCLUDES
49 //=============================================================================================================
50 
51 #include <QLabel>
52 #include <QGridLayout>
53 #include <QDoubleValidator>
54 
55 #include <QDebug>
56 
57 
58 //*************************************************************************************************************
59 //=============================================================================================================
60 // USED NAMESPACES
61 //=============================================================================================================
62 
63 using namespace XDISPLIB;
64 
65 
66 //*************************************************************************************************************
67 //=============================================================================================================
68 // DEFINE MEMBER METHODS
69 //=============================================================================================================
70 
72 : QWidget(parent)
73 , m_pRealTimeEvokedWidget(toolbox)
74 {
75  this->setWindowTitle("Covariance Modality Settings");
76  this->setMinimumWidth(330);
77  this->setMaximumWidth(330);
78 
79  QGridLayout* t_pGridLayout = new QGridLayout;
80 
81  for(qint32 i = 0; i < m_pRealTimeEvokedWidget->m_qListModalities.size(); ++i)
82  {
83  QString mod = m_pRealTimeEvokedWidget->m_qListModalities[i].m_sName;
84 
85  QLabel* t_pLabelModality = new QLabel;
86  t_pLabelModality->setText(mod);
87  t_pGridLayout->addWidget(t_pLabelModality,i,0,1,1);
88 
89  QCheckBox* t_pCheckBoxModality = new QCheckBox;
90  t_pCheckBoxModality->setChecked(m_pRealTimeEvokedWidget->m_qListModalities[i].m_bActive);
91  m_qListModalityCheckBox << t_pCheckBoxModality;
92  connect(t_pCheckBoxModality,&QCheckBox::stateChanged,this,&EvokedModalityWidget::updateCheckbox);
93  t_pGridLayout->addWidget(t_pCheckBoxModality,i,1,1,1);
94 
95 
96  QDoubleValidator* t_pDoubleValidator = new QDoubleValidator(10e-11,1,16,this);
97  QLineEdit* t_pLineEditScale = new QLineEdit;
98  t_pLineEditScale->setMaximumWidth(100);
99  t_pLineEditScale->setValidator(t_pDoubleValidator);
100  t_pLineEditScale->setText(QString("%1").arg(m_pRealTimeEvokedWidget->m_qListModalities[i].m_fNorm));
101  m_qListModalityLineEdit << t_pLineEditScale;
102  connect(t_pLineEditScale,&QLineEdit::textEdited,this,&EvokedModalityWidget::updateLineEdit);
103  t_pGridLayout->addWidget(t_pLineEditScale,i,2,1,1);
104 
105  }
106 
107  this->setLayout(t_pGridLayout);
108 
109 }
110 
111 
112 //*************************************************************************************************************
113 
115 {
116 }
117 
118 
119 //*************************************************************************************************************
120 
121 void EvokedModalityWidget::updateCheckbox(qint32 state)
122 {
123  Q_UNUSED(state)
124 
125  for(qint32 i = 0; i < m_qListModalityCheckBox.size(); ++i)
126  {
127  if(m_qListModalityCheckBox[i]->isChecked())
128  m_pRealTimeEvokedWidget->m_qListModalities[i].m_bActive = true;
129  else
130  m_pRealTimeEvokedWidget->m_qListModalities[i].m_bActive = false;
131  }
132 
133  emit settingsChanged();
134 }
135 
136 
137 //*************************************************************************************************************
138 
139 void EvokedModalityWidget::updateLineEdit(const QString & text)
140 {
141  Q_UNUSED(text)
142 
143  for(qint32 i = 0; i < m_qListModalityCheckBox.size(); ++i)
144  m_pRealTimeEvokedWidget->m_qListModalities[i].m_fNorm = (float)m_qListModalityLineEdit[i]->text().toDouble();
145 
146  emit settingsChanged();
147 }
Declaration of the SensorItem Class.
The RealTimeMultiSampleArrayNewWidget class provides a real-time curve display.
Declaration of the EvokedModalityWidget Class.
EvokedModalityWidget(QWidget *parent, RealTimeEvokedWidget *toolbox)