Play-/Source/ui_qt/DebugSupport/FunctionsView.h

53 lines
1.1 KiB
C
Raw Normal View History

2019-12-10 12:31:00 +00:00
#pragma once
#include <QMdiArea>
#include <QMdiSubWindow>
#include <QTreeWidget>
2019-12-10 12:31:00 +00:00
#include "signal/Signal.h"
#include <functional>
#include "MIPS.h"
#include "BiosDebugInfoProvider.h"
#include "ELF.h"
class CFunctionsView : public QMdiSubWindow
{
Q_OBJECT
2019-12-10 12:31:00 +00:00
public:
CFunctionsView(QMdiArea*);
virtual ~CFunctionsView() = default;
void SetContext(CMIPS*, CBiosDebugInfoProvider*);
void Refresh();
Framework::CSignal<void(uint32)> OnFunctionDblClick;
Framework::CSignal<void(void)> OnFunctionsStateChange;
public slots:
void OnListDblClick(QTreeWidgetItem*, int);
void OnNewClick();
void OnRenameClick();
void OnDeleteClick();
void OnImportClick();
signals:
void OnTagListChange();
protected:
void showEvent(QShowEvent*) Q_DECL_OVERRIDE;
2019-12-10 12:31:00 +00:00
private:
void RefreshList();
void InitializeModuleGrouper();
QTreeWidgetItem* GetFunctionGroup(uint32);
2019-12-10 12:31:00 +00:00
Framework::CSignal<void()>::Connection m_functionTagsChangeConnection;
CMIPS* m_context = nullptr;
BiosDebugModuleInfoArray m_modules;
CBiosDebugInfoProvider* m_biosDebugInfoProvider = nullptr;
QTreeWidget* m_treeWidget;
std::map<uint32, QTreeWidgetItem*> m_groupMap;
2019-12-10 12:31:00 +00:00
};