#ifndef PARTICLELISTMODEL_H #define PARTICLELISTMODEL_H #include #include "store.h" class ParticleListModel : public QAbstractListModel { Q_OBJECT public: explicit ParticleListModel(Store *store, QObject *parent = nullptr); int rowCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; void setStreamId(const QString &streamId); int firstUnseenRow() const; // Returns -1 if none unseen const Particle* particleAtRow(int row) const; private: Store *m_store; QString m_currentStreamId; }; #endif // PARTICLELISTMODEL_H