File indexing completed on 2024-04-28 17:02:20

0001 /*
0002    This file is part of Massif Visualizer
0003 
0004    Copyright 2010 Milian Wolff <mail@milianw.de>
0005 
0006    This library is free software; you can redistribute it and/or
0007    modify it under the terms of the GNU Lesser General Public
0008    License as published by the Free Software Foundation; either
0009    version 2.1 of the License, or (at your option) version 3, or any
0010    later version accepted by the membership of KDE e.V. (or its
0011    successor approved by the membership of KDE e.V.), which shall
0012    act as a proxy defined in Section 6 of version 3 of the license.
0013 
0014    This library is distributed in the hope that it will be useful,
0015    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0017    Lesser General Public License for more details.
0018 
0019    You should have received a copy of the GNU Lesser General Public
0020    License along with this library.  If not, see <http://www.gnu.org/licenses/>.
0021 */
0022 
0023 #include "treeleafitem.h"
0024 
0025 using namespace Massif;
0026 
0027 TreeLeafItem::TreeLeafItem()
0028     : m_cost(0), m_parent(0)
0029 {
0030 }
0031 
0032 TreeLeafItem::~TreeLeafItem()
0033 {
0034     qDeleteAll(m_children);
0035 }
0036 
0037 void TreeLeafItem::setLabel(const QByteArray& label)
0038 {
0039     m_label = label;
0040 }
0041 
0042 QByteArray TreeLeafItem::label() const
0043 {
0044     return m_label;
0045 }
0046 
0047 void TreeLeafItem::setCost(quint64 bytes)
0048 {
0049     m_cost = bytes;
0050 }
0051 
0052 quint64 TreeLeafItem::cost() const
0053 {
0054     return m_cost;
0055 }
0056 
0057 void TreeLeafItem::addChild(TreeLeafItem* leaf)
0058 {
0059     leaf->m_parent = this;
0060     m_children << leaf;
0061 }
0062 
0063 void TreeLeafItem::setChildren(const QVector< TreeLeafItem* >& leafs)
0064 {
0065     m_children = leafs;
0066 }
0067 
0068 QVector< TreeLeafItem* > TreeLeafItem::children() const
0069 {
0070     return m_children;
0071 }
0072 
0073 TreeLeafItem* TreeLeafItem::parent() const
0074 {
0075     return m_parent;
0076 }