// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause /* treeitem.cpp A container for items of data supplied by the simple tree model. */ #include "treeitem.h" //! [0] TreeItem::TreeItem(const QList &data, TreeItem *parent) : m_itemData(data), m_parentItem(parent) {} //! [0] //! [1] TreeItem::~TreeItem() { qDeleteAll(m_childItems); } //! [1] //! [2] void TreeItem::appendChild(TreeItem *item) { m_childItems.append(item); } //! [2] //! [3] TreeItem *TreeItem::child(int row) { if (row < 0 || row >= m_childItems.size()) return nullptr; return m_childItems.at(row); } //! [3] //! [4] int TreeItem::childCount() const { return m_childItems.count(); } //! [4] //! [5] int TreeItem::columnCount() const { return m_itemData.count(); } //! [5] //! [6] QVariant TreeItem::data(int column) const { if (column < 0 || column >= m_itemData.size()) return QVariant(); return m_itemData.at(column); } //! [6] //! [7] TreeItem *TreeItem::parentItem() { return m_parentItem; } //! [7] //! [8] int TreeItem::row() const { if (m_parentItem) return m_parentItem->m_childItems.indexOf(const_cast(this)); return 0; } //! [8]