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

55 lines
1.5 KiB
C
Raw Permalink Normal View History

2019-08-31 12:33:24 -04:00
#pragma once
#include <string>
#include <functional>
#include <QWidget>
#include <QMdiArea>
#include <QMdiSubWindow>
2019-12-11 14:52:12 +00:00
#include "DisAsmWnd.h"
2019-12-19 11:58:52 +00:00
#include "MemoryViewMIPSWnd.h"
2019-08-31 12:33:24 -04:00
#include "RegViewWnd.h"
#include "CallStackWnd.h"
2019-08-31 12:33:24 -04:00
#include "VirtualMachineStateView.h"
class CBiosDebugInfoProvider;
class CDebugView : public CVirtualMachineStateView
{
public:
2019-12-19 21:37:47 +00:00
typedef std::function<void(void)> StepFunction;
2019-08-31 12:33:24 -04:00
2024-03-21 14:24:08 -04:00
CDebugView(QWidget*, QMdiArea*, CVirtualMachine&, CMIPS*, const StepFunction&, CBiosDebugInfoProvider*, const char*, uint64, CDisAsmTableModel::DISASM_TYPE = CDisAsmTableModel::DISASM_STANDARD);
2019-08-31 12:33:24 -04:00
virtual ~CDebugView();
void HandleMachineStateChange() override;
void HandleRunningStateChange(CVirtualMachine::STATUS) override;
CMIPS* GetContext();
2019-12-11 14:52:12 +00:00
CDisAsmWnd* GetDisassemblyWindow();
2019-12-19 11:58:52 +00:00
CMemoryViewMIPSWnd* GetMemoryViewWindow();
2019-08-31 12:33:24 -04:00
CRegViewWnd* GetRegisterViewWindow();
CCallStackWnd* GetCallStackWindow();
2019-08-31 12:33:24 -04:00
void Step();
const char* GetName() const;
void Hide();
CBiosDebugInfoProvider* GetBiosDebugInfoProvider() const;
protected:
void OnCallStackWndFunctionDblClick(uint32_t);
private:
std::string m_name;
CVirtualMachine& m_virtualMachine;
CMIPS* m_ctx;
2024-03-20 15:16:00 -04:00
QMdiSubWindow* m_disAsmWnd = nullptr;
QMdiSubWindow* m_memoryViewWnd = nullptr;
QMdiSubWindow* m_regViewWnd = nullptr;
QMdiSubWindow* m_callStackWnd = nullptr;
2019-08-31 12:33:24 -04:00
StepFunction m_stepFunction;
CBiosDebugInfoProvider* m_biosDebugInfoProvider;
2019-12-12 01:44:55 +00:00
CCallStackWnd::OnFunctionDblClickSignal::Connection m_OnFunctionDblClickConnection;
2019-08-31 12:33:24 -04:00
};