From f24aa78b50336b59682d4231aa4ddb28e81d73d5 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Mon, 10 Oct 2022 15:45:51 -0500 Subject: [PATCH] Hiding some properties of TreeItem --- scwx-qt/source/scwx/qt/model/tree_item.hpp | 12 +++++++++--- scwx-qt/source/scwx/qt/model/tree_model.cpp | 5 +++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/scwx-qt/source/scwx/qt/model/tree_item.hpp b/scwx-qt/source/scwx/qt/model/tree_item.hpp index 625bfbd9..f936d27b 100644 --- a/scwx-qt/source/scwx/qt/model/tree_item.hpp +++ b/scwx-qt/source/scwx/qt/model/tree_item.hpp @@ -12,6 +12,8 @@ namespace qt namespace model { +class TreeModel; + class TreeItem { public: @@ -36,14 +38,18 @@ public: int row() const; const TreeItem* parent_item() const; - void AppendChild(TreeItem* child); TreeItem* FindChild(int column, const QVariant& data); - bool InsertChildren(int position, int count, int columns); - bool SetData(int column, const QVariant& value); + +protected: + void AppendChild(TreeItem* child); + bool InsertChildren(int position, int count, int columns); + bool SetData(int column, const QVariant& value); private: class Impl; std::unique_ptr p; + + friend class TreeModel; }; } // namespace model diff --git a/scwx-qt/source/scwx/qt/model/tree_model.cpp b/scwx-qt/source/scwx/qt/model/tree_model.cpp index e816a580..313fa6dc 100644 --- a/scwx-qt/source/scwx/qt/model/tree_model.cpp +++ b/scwx-qt/source/scwx/qt/model/tree_model.cpp @@ -50,6 +50,11 @@ TreeItem* TreeModel::root_item() int TreeModel::rowCount(const QModelIndex& parent) const { + if (parent.isValid() && parent.column() > 0) + { + return 0; + } + const TreeItem* parentItem = p->item(parent); return parentItem ? parentItem->child_count() : 0; }