+ enum myRoles {
+ SortRole = Qt::UserRole,
+ UserRole
+ };
+
+ TreeModel(const QList<QVariant> &, QObject *parent = nullptr);
+ ~TreeModel() override;
+
+ AbstractTreeItem *root() const;
+
+ QVariant data(const QModelIndex &index, int role) const override;
+ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
+
+ Qt::ItemFlags flags(const QModelIndex &index) const override;
+ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;