You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.8 KiB

#include "tradetablemodel.h"
TradeTableModel::TradeTableModel(QObject *parent)
: QAbstractTableModel(parent)
{
}
QVariant TradeTableModel::headerData(int section, Qt::Orientation orientation, int role) const
{
// FIXME: Implement me!
// return QVariant();
if(role == Qt::DisplayRole && orientation == Qt::Horizontal)
return headerDatas[section];
return QVariant();
// return QAbstractTableModel::headerData(section,orientation,role);
}
bool TradeTableModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value,
int role /*= Qt::EditRole*/)
{
headerDatas[section] = value.toString();
return true;
}
int TradeTableModel::rowCount(const QModelIndex &parent) const
{
if (parent.isValid())
return 0;
return m_datas.count();
// FIXME: Implement me!
}
int TradeTableModel::columnCount(const QModelIndex &parent) const
{
if (parent.isValid())
return 0;
return m_nColumnCount;
// FIXME: Implement me!
}
QVariant TradeTableModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
int row = index.row();
int column = index.column();
switch (role)
{
case Qt::DisplayRole:
return m_datas[row][column];
}
// if (role != Qt::DisplayRole)
// return QVariant();
// return m_datas[row][column];
return QVariant();
}
void TradeTableModel::addData(int row,int column,QString data)
{
if(m_nColumnCount <= column)
m_nColumnCount = column;
if(m_datas.count() <= row)
{
QList<QString> columns;
for(int c = 0 ; c < m_nColumnCount ; c++)
{
columns.append("");
}
columns[column] = data;
m_datas.append(columns);
}
else
{
m_datas[row][column] = data;
}
}