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 /* 0010 * Items of coverage view. 0011 */ 0012 0013 #ifndef COVERAGEITEM_H 0014 #define COVERAGEITEM_H 0015 0016 #include <QTreeWidget> 0017 #include "tracedata.h" 0018 0019 class Coverage; 0020 0021 class CallerCoverageItem: public QTreeWidgetItem 0022 { 0023 public: 0024 CallerCoverageItem(QTreeWidget* parent, Coverage* c, 0025 TraceFunction* base, 0026 EventType* ct, ProfileContext::Type gt); 0027 CallerCoverageItem(QTreeWidget* parent, int skipped, Coverage* c, 0028 TraceFunction* base, 0029 EventType* ct, ProfileContext::Type gt); 0030 0031 bool operator< ( const QTreeWidgetItem & other ) const override; 0032 TraceFunction* function() { return (_skipped) ? nullptr : _function; } 0033 void setCostType(EventType* ct); 0034 void setGroupType(ProfileContext::Type); 0035 void update(); 0036 0037 private: 0038 float _pSum; 0039 SubCost _sum; 0040 EventType* _costType; 0041 ProfileContext::Type _groupType; 0042 SubCost _cc; 0043 int _distance, _skipped; 0044 TraceFunction *_function, *_base; 0045 Coverage* _coverage; 0046 }; 0047 0048 0049 class CalleeCoverageItem: public QTreeWidgetItem 0050 { 0051 public: 0052 CalleeCoverageItem(QTreeWidget* parent, Coverage* c, 0053 TraceFunction* base, 0054 EventType* ct, ProfileContext::Type gt); 0055 CalleeCoverageItem(QTreeWidget* parent, int skipped, Coverage* c, 0056 TraceFunction* base, 0057 EventType* ct, ProfileContext::Type gt); 0058 0059 bool operator< ( const QTreeWidgetItem & other ) const override; 0060 TraceFunction* function() { return (_skipped) ? nullptr : _function; } 0061 void setCostType(EventType* ct); 0062 void setGroupType(ProfileContext::Type); 0063 void update(); 0064 0065 private: 0066 float _pSum, _pSelf; 0067 SubCost _sum, _self; 0068 EventType* _costType; 0069 ProfileContext::Type _groupType; 0070 SubCost _cc; 0071 int _distance, _skipped; 0072 TraceFunction *_function, *_base; 0073 Coverage* _coverage; 0074 }; 0075 0076 #endif