diff options
Diffstat (limited to 'src/SessionTreeItem.cpp')
-rw-r--r-- | src/SessionTreeItem.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/SessionTreeItem.cpp b/src/SessionTreeItem.cpp new file mode 100644 index 0000000..ed7ead7 --- /dev/null +++ b/src/SessionTreeItem.cpp @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2010,2011 - RZ Uni Freiburg + * Copyright (c) 2010,2011 - OpenSLX Project + * + * This program/file is free software distributed under the GPL version 2. + * See http://gpl.openslx.org/ + * + * If you have any feedback please consult http://feedback.openslx.org/ and + * send your feedback to feedback@openslx.org + * + * General information about OpenSLX - libChooser can be found under + * http://openslx.org + * + */ + +#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_; +} |