64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
#include "currenttablemodel.h"
|
|
|
|
CurrentTableModel::CurrentTableModel(QObject* parent) :
|
|
QAbstractTableModel(parent)
|
|
{
|
|
}
|
|
|
|
CurrentTableModel::~CurrentTableModel()
|
|
{
|
|
}
|
|
|
|
void CurrentTableModel::setCurrentData(const QVariantList& data)
|
|
{
|
|
beginResetModel();
|
|
data_.clear();
|
|
|
|
for (const auto& row: data)
|
|
{
|
|
QList<float> rowData;
|
|
for (const auto& column: row.toList())
|
|
{
|
|
rowData.push_back(column.toFloat());
|
|
}
|
|
data_.push_back(rowData);
|
|
}
|
|
|
|
endResetModel();
|
|
}
|
|
|
|
void CurrentTableModel::setCurrentData(const QList<QList<float>>& data)
|
|
{
|
|
beginResetModel();
|
|
data_ = data;
|
|
endResetModel();
|
|
}
|
|
|
|
int CurrentTableModel::rowCount(const QModelIndex&) const
|
|
{
|
|
return data_.size();
|
|
}
|
|
|
|
int CurrentTableModel::columnCount(const QModelIndex&) const
|
|
{
|
|
return data_.empty() ? 0 : data_.at(0).size();
|
|
}
|
|
|
|
QVariant CurrentTableModel::data(const QModelIndex& index, int role) const
|
|
{
|
|
switch (role)
|
|
{
|
|
case Qt::DisplayRole:
|
|
return QString::number(data_.at(index.row()).at(index.column()));
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return {};
|
|
}
|
|
|
|
QHash<int, QByteArray> CurrentTableModel::roleNames() const
|
|
{
|
|
return { {Qt::DisplayRole, "display"} };
|
|
}
|