58 lines
1.5 KiB
C++
58 lines
1.5 KiB
C++
#include "sellermodel.h"
|
|
|
|
SellerModel::SellerModel(std::vector<std::shared_ptr<Seller>>& sellers, QObject* parent)
|
|
: QAbstractTableModel(parent), sellers_(&sellers)
|
|
{
|
|
}
|
|
|
|
int SellerModel::rowCount(const QModelIndex& parent) const { return sellers_->size(); }
|
|
|
|
int SellerModel::columnCount(const QModelIndex& parent) const { return 5; }
|
|
|
|
QVariant SellerModel::data(const QModelIndex& index, int role) const
|
|
{
|
|
if (role != Qt::DisplayRole)
|
|
return QVariant();
|
|
|
|
Seller* seller = sellers_->at(index.row()).get();
|
|
switch (index.column()) {
|
|
case 0:
|
|
return seller->getUuidAsString().c_str();
|
|
case 1:
|
|
return seller->getSellerNo();
|
|
case 2:
|
|
return seller->getFirstName().c_str();
|
|
case 3:
|
|
return QString(seller->getLastName().c_str());
|
|
case 4:
|
|
return seller->numArticlesOffered();
|
|
default:
|
|
return "???";
|
|
}
|
|
return QVariant{};
|
|
}
|
|
|
|
QVariant SellerModel::headerData(int section, Qt::Orientation orientation, int role) const
|
|
{
|
|
if (role != Qt::DisplayRole)
|
|
return QVariant();
|
|
|
|
if (orientation == Qt::Horizontal) {
|
|
switch (section) {
|
|
case 0:
|
|
return "ID";
|
|
case 1:
|
|
return "Nummer";
|
|
case 2:
|
|
return "Vorname";
|
|
case 3:
|
|
return "Nachname";
|
|
case 4:
|
|
return "Anz. Artikel";
|
|
default:
|
|
return "???";
|
|
}
|
|
return QStringLiteral("%1").arg(section);
|
|
} else
|
|
return "";
|
|
} |