From 18508ea004a66cc30c42c43d14afdc16b2267666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Sun, 25 Sep 2022 10:55:36 +0800 Subject: Rename project to qinterchange --- interchange/catalog.hxx | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 interchange/catalog.hxx (limited to 'interchange/catalog.hxx') diff --git a/interchange/catalog.hxx b/interchange/catalog.hxx new file mode 100644 index 0000000..8946113 --- /dev/null +++ b/interchange/catalog.hxx @@ -0,0 +1,34 @@ +#ifndef INTERCHANGE_CATALOG_HXX +#define INTERCHANGE_CATALOG_HXX + +#include +#include "product.hxx" + +struct interchange_catalog; + +namespace Interchange { + + class Catalog : public QAbstractListModel + { + Q_OBJECT + + public: + Catalog(QObject* parent = nullptr) : QAbstractListModel{parent} {} + Catalog(struct interchange_catalog* catalog, QObject* parent = nullptr); + ~Catalog(); + int rowCount(QModelIndex const& parent = QModelIndex()) const Q_DECL_OVERRIDE; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; + struct interchange_catalog const* constData() const { return m_data; } + + protected: + QHash roleNames() const Q_DECL_OVERRIDE; + + private: + void addProduct(Product const& product); + QList products; + struct interchange_catalog* m_data; + }; + +} + +#endif -- cgit v1.2.3