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