#ifndef QQuickDetailsViewModel_h__ #define QQuickDetailsViewModel_h__ #include #include #include #include #include #include "export.hpp" class IDetailsViewRow; class QDetailsViewRow_Property; class DIAGRAM_DESIGNER_PUBLIC QQuickDetailsViewModel : public QAbstractItemModel { Q_OBJECT enum Roles { name = 0, }; friend class IDetailsViewRow; public: QQuickDetailsViewModel(QObject* parent = 0); ~QQuickDetailsViewModel() {} QVariant data(const QModelIndex& index, int role) const override; Qt::ItemFlags flags(const QModelIndex& index) const override; QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; QModelIndex parent(const QModelIndex& index) const override; int rowCount(const QModelIndex& parent = QModelIndex()) const override; int columnCount(const QModelIndex& parent = QModelIndex()) const override; QHash roleNames() const override; void setObject(QObject* inObject); QObject* getObject() const; QModelIndex indexForRow(IDetailsViewRow* row) const; void updateRowIndex(IDetailsViewRow* row); private: QSharedPointer mRoot; QObject* mObject; }; #endif // QQuickDetailsViewModel_h__