#pragma once // Qt #include #include #include #include // Project #include "main.h" // Doxygen : do not remove #include "VView.h" // namespace namespace View { class MListModel : public QAbstractListModel { Q_OBJECT public: explicit MListModel(QObject *parent = nullptr) : QAbstractListModel (parent) { } QHash roleNames ( ) const override; int rowCount (const QModelIndex & = QModelIndex() ) const override; QVariant data (const QModelIndex &vIndex, int vRole = Qt::DisplayRole ) const override; bool setData (const QModelIndex &vIndex, const QVariant& vValue, int vRole = Qt::EditRole) override; void clear ( ); void setRoleNames(const QHash& vRoleNames ); MListModel &operator = (const QList> &src ); public slots: QVariantMap get (int vRow ) const; // Exposed to QML private: QList> _data; QHash _roleNames; }; }