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