more on sellers
This commit is contained in:
parent
207edb27ba
commit
a2ad2eb57d
8 changed files with 74 additions and 38 deletions
|
@ -1,6 +1,6 @@
|
|||
#include "sellermodel.h"
|
||||
|
||||
SellerModel::SellerModel(std::vector<std::shared_ptr<Seller>>& sellers, QObject* parent)
|
||||
SellerModel::SellerModel(std::vector<std::unique_ptr<Seller>>& sellers, QObject* parent)
|
||||
: QAbstractTableModel(parent), sellers_(&sellers)
|
||||
{
|
||||
}
|
||||
|
@ -55,4 +55,37 @@ QVariant SellerModel::headerData(int section, Qt::Orientation orientation, int r
|
|||
return QStringLiteral("%1").arg(section);
|
||||
} else
|
||||
return "";
|
||||
}
|
||||
|
||||
Qt::ItemFlags SellerModel::flags(const QModelIndex& index) const
|
||||
{
|
||||
return QAbstractTableModel::flags(index) | Qt::ItemFlag::ItemIsEditable;
|
||||
}
|
||||
|
||||
bool SellerModel::setData(const QModelIndex& index, const QVariant& value, int role) {
|
||||
if (role != Qt::EditRole)
|
||||
return false;
|
||||
|
||||
Seller* seller = sellers_->at(index.row()).get();
|
||||
switch (index.column()) {
|
||||
case 0:
|
||||
seller->setUuidFromString(value.toString().toStdString());
|
||||
break;
|
||||
case 1:
|
||||
seller->setSellerNo(value.toInt());
|
||||
break;
|
||||
case 2:
|
||||
seller->setFirstName(value.toString().toStdString());
|
||||
break;
|
||||
case 3:
|
||||
seller->setLastName(value.toString().toStdString());
|
||||
break;
|
||||
case 4:
|
||||
seller->setNumArticlesOffered(value.toInt());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
dataChanged(index, index);
|
||||
return true;
|
||||
}
|
|
@ -8,14 +8,16 @@
|
|||
class SellerModel : public QAbstractTableModel
|
||||
{
|
||||
public:
|
||||
explicit SellerModel(std::vector<std::shared_ptr<Seller>>& sellers, QObject* parent = nullptr);
|
||||
explicit SellerModel(std::vector<std::unique_ptr<Seller>>& sellers, 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;
|
||||
virtual Qt::ItemFlags flags(const QModelIndex& index) const override;
|
||||
virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<Seller>>* sellers_;
|
||||
std::vector<std::unique_ptr<Seller>>* sellers_;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue