#ifndef SIMPLEFILETREEITEM_H #define SIMPLEFILETREEITEM_H #include #include #include class SimpleFileTreeItem { public: explicit SimpleFileTreeItem(const QVector& data, SimpleFileTreeItem* parentItem = nullptr); ~SimpleFileTreeItem(); void appendChild(const QString& name, SimpleFileTreeItem* child); SimpleFileTreeItem* child(int row); SimpleFileTreeItem* childByName(const QString& name); QVector children(); int childCount() const; int columnCount() const; QVariant data(int column) const; int row() const; SimpleFileTreeItem* parentItem(); /** * Walk up to the root, joining each ancestor's name with @p separator. * Returns the archive-relative path of this item. */ QString fullPath(QChar separator = QLatin1Char('/')) const; private: QVector m_childItems; QHash m_childItemsByName; QVector m_itemData; SimpleFileTreeItem* m_parentItem; }; #endif // SIMPLEFILETREEITEM_H