Files
aliendefender/ADeditor/alienmodel.cpp
2020-06-15 22:22:46 +03:00

44 lines
854 B
C++

#include "alienmodel.h"
AlienModel::AlienModel(QList <tbAlien> maliens, QObject *parent) :
QAbstractListModel(parent)
{
aliens = maliens;
}
void AlienModel::refresh(QList <tbAlien> maliens)
{
aliens = maliens;
}
int AlienModel::rowCount(const QModelIndex &) const
{
return aliens.count();
}
QVariant AlienModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (index.row() >= aliens.size())
return QVariant();
if (role == Qt::DisplayRole)
{
return aliens.at(index.row()).name;
}
if (role == Qt::DecorationRole)
{
return QIcon(":/icons/icons/list-add.png");
}
if (role == Qt::ToolTipRole)
{
return tr("id=%1").arg(aliens.at(index.row()).id);
}
return QVariant();
}