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

43 lines
1.1 KiB
C
Raw Permalink Normal View History

2019-12-10 12:29:34 +00:00
#pragma once
2020-02-05 21:48:30 +00:00
#include <QWidget>
2019-12-10 12:29:34 +00:00
#include <QTableView>
#include "QtGenericTableModel.h"
#include "VirtualMachine.h"
#include "MIPS.h"
#include "BiosDebugInfoProvider.h"
#include "Types.h"
#include "VirtualMachineStateView.h"
class CKernelObjectListView : public QTableView, public CVirtualMachineStateView
2019-12-10 12:29:34 +00:00
{
public:
2022-09-10 12:23:26 -04:00
typedef Framework::CSignal<void(uint32)> OnGotoAddressSignal;
typedef Framework::CSignal<void(const char*)> OnObjectTypeChangedSignal;
2022-09-10 12:47:16 -04:00
CKernelObjectListView(QWidget*);
virtual ~CKernelObjectListView() = default;
2019-12-10 12:29:34 +00:00
void HandleMachineStateChange() override;
void SetContext(CMIPS*, CBiosDebugInfoProvider*);
void SetObjectType(uint32);
2019-12-10 12:29:34 +00:00
2022-09-10 12:23:26 -04:00
OnGotoAddressSignal OnGotoAddress;
OnObjectTypeChangedSignal OnObjectTypeChanged;
2019-12-10 12:29:34 +00:00
2019-12-09 13:42:03 +00:00
public slots:
void tableDoubleClick(const QModelIndex&);
2019-12-10 12:29:34 +00:00
private:
void Update();
CMIPS* m_context = nullptr;
CBiosDebugInfoProvider* m_biosDebugInfoProvider = nullptr;
BiosDebugObjectInfoMap m_schema;
QTableView* m_tableView = nullptr;
CQtGenericTableModel* m_model = nullptr;
2022-09-08 19:17:13 -04:00
uint32 m_objectType = BIOS_DEBUG_OBJECT_TYPE_NULL;
2019-12-10 12:29:34 +00:00
};