#pragma once #include #include class EntityItemModel : public QAbstractListModel { public: explicit EntityItemModel(QObject* parent = nullptr); int rowCount(const QModelIndex& parent) const override; QModelIndex sibling(int row, int column, const QModelIndex& idx) const override; QVariant data(const QModelIndex& index, int role) const override; bool setData(const QModelIndex& index, const QVariant& value, int role) override; Qt::ItemFlags flags(const QModelIndex& index) const override; bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; void SetData(std::vector entities); std::vector GetData(); QModelIndex CreateIndex(int row); private: Q_DISABLE_COPY(EntityItemModel) std::vector m_entities; };