1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
/*
This file is part of KCachegrind.
SPDX-FileCopyrightText: 2003-2016 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
SPDX-License-Identifier: GPL-2.0-only
*/
/*
* StackSelection for KCachegrind
* For function selection of a most expected stack,
* to be put into a QDockWindow
*/
#ifndef STACKSELECTION_H
#define STACKSELECTION_H
#include <QWidget>
#include "tracedata.h"
class QTreeWidget;
class QTreeWidgetItem;
class TraceFunction;
class TraceData;
class StackBrowser;
class StackSelection : public QWidget
{
Q_OBJECT
public:
explicit StackSelection(QWidget* parent = nullptr);
~StackSelection() override;
TraceData* data() const { return _data; }
void setData(TraceData*);
StackBrowser* browser() const { return _browser; }
EventType* eventType() { return _eventType; }
EventType* eventType2() { return _eventType2; }
ProfileContext::Type groupType() { return _groupType; }
Q_SIGNALS:
void functionSelected(CostItem*);
public Q_SLOTS:
void setFunction(TraceFunction*);
void setEventType(EventType*);
void setEventType2(EventType*);
void setGroupType(ProfileContext::Type);
void stackSelected(QTreeWidgetItem*,QTreeWidgetItem*);
void browserBack();
void browserForward();
void browserUp();
void browserDown();
void refresh();
void rebuildStackList();
private:
void selectFunction();
TraceData* _data;
StackBrowser* _browser;
TraceFunction* _function;
EventType* _eventType;
EventType* _eventType2;
ProfileContext::Type _groupType;
QTreeWidget* _stackList;
};
#endif
|