#ifndef BASKET_MODEL_H #define BASKET_MODEL_H #include #include class BasketModel : public QAbstractTableModel { Q_OBJECT public: explicit BasketModel(Marketplace* market, QObject* parent = nullptr); virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override; virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override; virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override; void addArticle(Seller* seller, int price, const std::string& desc); void finishSale(); void cancelSale(); virtual bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; signals: void basketDataChanged(); private: Marketplace* marketplace_; }; #endif