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  * Coverage Views
0011  */
0012 
0013 #ifndef COVERAGEVIEW_H
0014 #define COVERAGEVIEW_H
0015 
0016 #include <QTreeWidget>
0017 
0018 #include "tracedata.h"
0019 #include "traceitemview.h"
0020 #include "listutils.h"
0021 
0022 class CoverageView: public QTreeWidget, public TraceItemView
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     CoverageView(bool showCallers, TraceItemView* parentView,
0028                  QWidget* parent = nullptr);
0029 
0030     QWidget* widget() override { return this; }
0031     QString whatsThis() const override;
0032 
0033 protected Q_SLOTS:
0034     void context(const QPoint &);
0035     void selectedSlot(QTreeWidgetItem*, QTreeWidgetItem*);
0036     void activatedSlot(QTreeWidgetItem*, int);
0037     void headerClicked(int);
0038 
0039 protected:
0040     void keyPressEvent(QKeyEvent* event) override;
0041 
0042 private:
0043     CostItem* canShow(CostItem*) override;
0044     void doUpdate(int, bool) override;
0045     void refresh();
0046 
0047     HighestCostList _hc;
0048     bool _showCallers;
0049 };
0050 
0051 #endif