#ifndef NAVIGATIONITEMMODEL_H #define NAVIGATIONITEMMODEL_H #include class NavigationItemModel : public QObject { Q_OBJECT Q_PROPERTY(QString pImageSource READ getImageSource NOTIFY imageSourceChanged) signals: void imageSourceChanged(); void clicked(); public: NavigationItemModel(QObject *parent = Q_NULLPTR); QString getImageSource() const; QString getPath() const; bool setPath(const QString & path); NavigationItemModel* getParentItem(); QList getChildren(); void appendChild(NavigationItemModel* item); void clearChildren(); Q_INVOKABLE void onClicked(); private: QString mPath = QString(""); QString mImageSource; QList mChildren = QList(); NavigationItemModel* mParentItem = nullptr; }; #endif // NAVIGATIONITEMMODEL_H