1 /* 2 This file is part of KCachegrind. 3 4 SPDX-FileCopyrightText: 2003-2016 Josef Weidendorfer <Josef.Weidendorfer@gmx.de> 5 6 SPDX-License-Identifier: GPL-2.0-only 7 */ 8 9 /* 10 * Items of coverage view. 11 */ 12 13 #ifndef COVERAGEITEM_H 14 #define COVERAGEITEM_H 15 16 #include <QTreeWidget> 17 #include "tracedata.h" 18 19 class Coverage; 20 21 class CallerCoverageItem: public QTreeWidgetItem 22 { 23 public: 24 CallerCoverageItem(QTreeWidget* parent, Coverage* c, 25 TraceFunction* base, 26 EventType* ct, ProfileContext::Type gt); 27 CallerCoverageItem(QTreeWidget* parent, int skipped, Coverage* c, 28 TraceFunction* base, 29 EventType* ct, ProfileContext::Type gt); 30 31 bool operator< ( const QTreeWidgetItem & other ) const override; function()32 TraceFunction* function() { return (_skipped) ? nullptr : _function; } 33 void setCostType(EventType* ct); 34 void setGroupType(ProfileContext::Type); 35 void update(); 36 37 private: 38 float _pSum; 39 SubCost _sum; 40 EventType* _costType; 41 ProfileContext::Type _groupType; 42 SubCost _cc; 43 int _distance, _skipped; 44 TraceFunction *_function, *_base; 45 Coverage* _coverage; 46 }; 47 48 49 class CalleeCoverageItem: public QTreeWidgetItem 50 { 51 public: 52 CalleeCoverageItem(QTreeWidget* parent, Coverage* c, 53 TraceFunction* base, 54 EventType* ct, ProfileContext::Type gt); 55 CalleeCoverageItem(QTreeWidget* parent, int skipped, Coverage* c, 56 TraceFunction* base, 57 EventType* ct, ProfileContext::Type gt); 58 59 bool operator< ( const QTreeWidgetItem & other ) const override; function()60 TraceFunction* function() { return (_skipped) ? nullptr : _function; } 61 void setCostType(EventType* ct); 62 void setGroupType(ProfileContext::Type); 63 void update(); 64 65 private: 66 float _pSum, _pSelf; 67 SubCost _sum, _self; 68 EventType* _costType; 69 ProfileContext::Type _groupType; 70 SubCost _cc; 71 int _distance, _skipped; 72 TraceFunction *_function, *_base; 73 Coverage* _coverage; 74 }; 75 76 #endif 77