#ifndef SESSIONTREEITEM_H #define SESSIONTREEITEM_H #include #include #include "session.h" #include "globals.h" #include class SessionTreeItem { public: SessionTreeItem(const Session* session, SessionTreeItem *parent = nullptr); SessionTreeItem(const SectionType type, SessionTreeItem *parent = nullptr); SessionTreeItem(const QString& text, SessionTreeItem *parent = nullptr); ~SessionTreeItem(); void appendChild(SessionTreeItem *child); void removeChild(SessionTreeItem *child); SessionTreeItem *child(int row); int childCount() const; int columnCount() const { return 1; } int row() const; SessionTreeItem *parent(); const Session* session() const { return session_; } const QString text() const { return text_; } SectionType sectionType() const { return sectionType_; } private: QList children_; SessionTreeItem *parent_; const Session *session_; const SectionType sectionType_; const QString text_; static QString typeToName(const SectionType type); }; #endif // SESSIONTREEITEM_H