57 : QAbstractTableModel(parent)
58 , m_matData(MatrixXd(0,0))
59 , m_matDataFreeze(MatrixXd(0,0))
71 if(!m_qMapIdxRowSelection.empty())
72 return m_qMapIdxRowSelection.size();
90 if(role != Qt::DisplayRole && role != Qt::BackgroundRole)
93 if (index.isValid()) {
94 qint32 row = m_qMapIdxRowSelection[index.row()];
97 if(index.column() == 0 && role == Qt::DisplayRole)
98 return QVariant(m_pRTE->info().ch_names[row]);
101 if(index.column()==1) {
105 case Qt::DisplayRole: {
112 rowVec = m_matDataFreeze.row(row);
119 rowVec = m_matData.row(row);
126 case Qt::BackgroundRole: {
152 if(role != Qt::DisplayRole && role != Qt::TextAlignmentRole)
155 if(orientation == Qt::Horizontal) {
160 return QVariant(
"data plot");
162 case Qt::DisplayRole:
163 return QVariant(
"data plot");
164 case Qt::TextAlignmentRole:
165 return QVariant(Qt::AlignLeft);
169 else if(orientation == Qt::Vertical) {
170 QModelIndex chname = createIndex(section,0);
172 case Qt::DisplayRole:
173 return QVariant(
data(chname).toString());
197 m_matData = m_pRTE->getValue()->data;
201 QModelIndex topLeft = this->index(0,1);
202 QModelIndex bottomRight = this->index(m_pRTE->info().nchan-1,1);
203 QVector<int> roles; roles << Qt::DisplayRole;
204 emit dataChanged(topLeft, bottomRight, roles);
212 if(row < m_qMapIdxRowSelection.size())
214 qint32 chRow = m_qMapIdxRowSelection[row];
215 return m_pRTE->chColor()[chRow];
226 if(row < m_qMapIdxRowSelection.size())
228 qint32 chRow = m_qMapIdxRowSelection[row];
229 return m_pRTE->info().chs[chRow].kind;
240 if(row < m_qMapIdxRowSelection.size())
242 qint32 chRow = m_qMapIdxRowSelection[row];
243 return m_pRTE->info().chs[chRow].unit;
246 return FIFF_UNIT_NONE;
254 if(row < m_qMapIdxRowSelection.size())
256 qint32 chRow = m_qMapIdxRowSelection[row];
257 return m_pRTE->info().chs[chRow].coil_type;
270 m_qMapIdxRowSelection.clear();
273 for(qint32 i = 0; i < selection.size(); ++i)
275 if(selection[i] < m_pRTE->info().nchan)
277 m_qMapIdxRowSelection.insert(count,selection[i]);
294 m_qMapIdxRowSelection.clear();
296 for(qint32 i = 0; i < m_pRTE->info().nchan; ++i)
297 m_qMapIdxRowSelection.insert(i,i);
307 m_bIsFreezed = !m_bIsFreezed;
310 m_matDataFreeze = m_matData;
313 QModelIndex topLeft = this->index(0,1);
314 QModelIndex bottomRight = this->index(m_pRTE->info().nchan-1,1);
315 QVector<int> roles; roles << Qt::DisplayRole;
316 emit dataChanged(topLeft, bottomRight, roles);
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
void newSelection(QList< qint32 > selection)
QVariant data(int row, int column, int role=Qt::DisplayRole) const
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
fiff_int_t getKind(qint32 row) const
QColor getColor(qint32 row) const
fiff_int_t getCoil(qint32 row) const
fiff_int_t getUnit(qint32 row) const
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
void toggleFreeze(const QModelIndex &index)
Declaration of the RealTimeEvokedModel Class.
void selectRows(const QList< qint32 > &selection)
RealTimeEvokedModel(QObject *parent=0)
void setRTE(QSharedPointer< RealTimeEvoked > &pRTE)