2023-05-27 08:03:42 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../../MiscHelpers/Common/PanelView.h"
|
|
|
|
#include "../../MiscHelpers/Common/TreeviewEx.h"
|
|
|
|
#include "../Models/SbieModel.h"
|
|
|
|
#include "../Models/TraceModel.h"
|
|
|
|
#include "../Models/MonitorModel.h"
|
|
|
|
#include "../../MiscHelpers/Common/SortFilterProxyModel.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CFinder;
|
|
|
|
|
|
|
|
class CStackView : public CPanelView
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
CStackView(QWidget *parent = 0);
|
|
|
|
virtual ~CStackView();
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
void Clear() { m_pStackList->clear(); }
|
|
|
|
void Invalidate();
|
|
|
|
void ShowStack(const QVector<quint64>& Stack, const CBoxedProcessPtr& pProcess);
|
|
|
|
|
|
|
|
//void OnMenu(const QPoint &point);
|
|
|
|
|
|
|
|
void SetFilter(const QRegularExpression& Exp, bool bHighLight = false, int Col = -1); // -1 = any
|
2023-09-30 13:20:20 +01:00
|
|
|
void SetFilter(const QString& Exp, int iOptions = 0, int Col = -1); // -1 = any
|
2023-05-27 08:03:42 +01:00
|
|
|
|
|
|
|
protected:
|
|
|
|
//virtual void OnMenu(const QPoint& Point);
|
|
|
|
virtual QTreeView* GetView() { return m_pStackList; }
|
|
|
|
virtual QAbstractItemModel* GetModel() { return m_pStackList->model(); }
|
|
|
|
|
|
|
|
private:
|
|
|
|
enum EStackColumns
|
|
|
|
{
|
|
|
|
eStack = 0,
|
|
|
|
eSymbol,
|
|
|
|
eCount
|
|
|
|
};
|
|
|
|
|
|
|
|
QVBoxLayout* m_pMainLayout;
|
|
|
|
|
|
|
|
bool m_bIsInvalid;
|
|
|
|
QTreeWidgetEx* m_pStackList;
|
|
|
|
|
|
|
|
CFinder* m_pFinder;
|
|
|
|
|
|
|
|
//QMenu* m_pMenu;
|
|
|
|
};
|