diff options
Diffstat (limited to 'src/sessiontreeitem.cpp')
-rw-r--r-- | src/sessiontreeitem.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/sessiontreeitem.cpp b/src/sessiontreeitem.cpp new file mode 100644 index 0000000..5e07ad4 --- /dev/null +++ b/src/sessiontreeitem.cpp @@ -0,0 +1,60 @@ +#include "sessiontreeitem.h" + +SessionTreeItem::SessionTreeItem(const Session* session, SessionTreeItem *parent) : + parent_(parent), session_(session) +{ +} + +SessionTreeItem::SessionTreeItem(const QString& text, SessionTreeItem *parent) : + parent_(parent), session_(NULL), text_(text) +{ +} + +SessionTreeItem::~SessionTreeItem() +{ + qDeleteAll(children_); +} + +void SessionTreeItem::appendChild(SessionTreeItem *item) +{ + children_.append(item); +} + +SessionTreeItem *SessionTreeItem::child(int row) +{ + return children_.value(row); +} + +int SessionTreeItem::childCount() const +{ + return children_.count(); +} + +int SessionTreeItem::columnCount() const +{ + return 1; +} + +SessionTreeItem *SessionTreeItem::parent() +{ + return parent_; +} + +int SessionTreeItem::row() const +{ + if (parent_) { + return parent_->children_.indexOf(const_cast<SessionTreeItem*>(this)); + } + + return 0; +} + +const Session* SessionTreeItem::session() const +{ + return session_; +} + +const QString SessionTreeItem::text() const +{ + return text_; +} |