File indexing completed on 2024-04-28 05:41:32
0001 /* 0002 This file is part of KCachegrind. 0003 0004 SPDX-FileCopyrightText: 2003-2016 Josef Weidendorfer <Josef.Weidendorfer@gmx.de> 0005 0006 SPDX-License-Identifier: GPL-2.0-only 0007 */ 0008 0009 #ifndef COSTLISTITEM_H 0010 #define COSTLISTITEM_H 0011 0012 #include <QTreeWidget> 0013 0014 #include "tracedata.h" 0015 0016 class CostListItem: public QTreeWidgetItem 0017 { 0018 public: 0019 CostListItem(QTreeWidget* parent, TraceCostItem* cost, 0020 EventType* et, int size = -1); 0021 // entry with multiple skipped items 0022 CostListItem(QTreeWidget* parent, int skipped, TraceCostItem* cost, 0023 EventType* et); 0024 0025 bool operator< ( const QTreeWidgetItem & other ) const override; 0026 TraceCostItem* costItem() { return (_skipped) ? nullptr : _costItem; } 0027 void setEventType(EventType* et); 0028 void update(); 0029 void setSize(int s); 0030 0031 private: 0032 void updateName(); 0033 0034 SubCost _pure; 0035 EventType* _eventType; 0036 TraceCostItem* _costItem; 0037 // >0 only for last item in list, if items are skipped 0038 int _skipped; 0039 // number of items in group, is put in parenthesis after name 0040 int _groupSize; 0041 }; 0042 0043 #endif