diff options
author | hjk <hjk@theqtcompany.com> | 2016-06-10 10:37:49 +0200 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2016-06-15 08:55:16 +0000 |
commit | b281d6dad7aa43410387dbf06df07ac5f3716d42 (patch) | |
tree | 6d10a147a9278594ee3d764d098e4ad717b4ee46 /src/libs/utils/treemodel.cpp | |
parent | 0c1cdc3a4aea1ebc3e8ce093576c9fc8b4ba281c (diff) |
TreeModel: Introduce a StaticTreeItem
This splits out the case of static string displays from the
TreeItem base class, making the base more lightweight.
Change-Id: If1f442011ec60094399a41b65d9b5015f432f82e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/utils/treemodel.cpp')
-rw-r--r-- | src/libs/utils/treemodel.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index a4dd145f401..d42711cf7db 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -606,12 +606,7 @@ namespace Utils { // TreeItem // TreeItem::TreeItem() - : m_parent(0), m_model(0), m_displays(0), m_flags(Qt::ItemIsEnabled|Qt::ItemIsSelectable) -{ -} - -TreeItem::TreeItem(const QStringList &displays, int flags) - : m_parent(0), m_model(0), m_displays(new QStringList(displays)), m_flags(flags) + : m_parent(0), m_model(0), m_flags(Qt::ItemIsEnabled|Qt::ItemIsSelectable) { } @@ -620,7 +615,6 @@ TreeItem::~TreeItem() QTC_CHECK(m_parent == 0); QTC_CHECK(m_model == 0); removeChildren(); - delete m_displays; } TreeItem *TreeItem::child(int pos) const @@ -636,8 +630,8 @@ int TreeItem::rowCount() const QVariant TreeItem::data(int column, int role) const { - if (role == Qt::DisplayRole && m_displays && column >= 0 && column < m_displays->size()) - return m_displays->at(column); + Q_UNUSED(column); + Q_UNUSED(role); return QVariant(); } @@ -1055,4 +1049,22 @@ TreeItem *TreeModel::takeItem(TreeItem *item) return item; } +StaticTreeItem::StaticTreeItem(const QStringList &displays) + : m_displays(displays) +{ +} + +QVariant StaticTreeItem::data(int column, int role) const +{ + if (role == Qt::DisplayRole && column >= 0 && column < m_displays.size()) + return m_displays.at(column); + return QVariant(); +} + +Qt::ItemFlags StaticTreeItem::flags(int column) const +{ + Q_UNUSED(column); + return Qt::ItemIsEnabled; +} + } // namespace Utils |