#include "sellermodel.h" SellerModel::SellerModel(std::vector>& 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 ""; }