| |
| |
| |
|
|
| #pragma once |
|
|
| #include <memory> |
| #include <QDockWidget> |
|
|
| class QTreeWidget; |
| class QTreeWidgetItem; |
| class EmuThread; |
|
|
| namespace Ui { |
| class ARMRegisters; |
| } |
|
|
| namespace Core { |
| class System; |
| } |
|
|
| class RegistersWidget : public QDockWidget { |
| Q_OBJECT |
|
|
| public: |
| explicit RegistersWidget(const Core::System& system, QWidget* parent = nullptr); |
| ~RegistersWidget(); |
|
|
| public slots: |
| void OnDebugModeEntered(); |
| void OnDebugModeLeft(); |
|
|
| void OnEmulationStarting(EmuThread* emu_thread); |
| void OnEmulationStopping(); |
|
|
| private: |
| void CreateCPSRChildren(); |
| void UpdateCPSRValues(); |
|
|
| void CreateVFPSystemRegisterChildren(); |
| void UpdateVFPSystemRegisterValues(); |
|
|
| std::unique_ptr<Ui::ARMRegisters> cpu_regs_ui; |
| const Core::System& system; |
| QTreeWidget* tree; |
|
|
| QTreeWidgetItem* core_registers; |
| QTreeWidgetItem* vfp_registers; |
| QTreeWidgetItem* vfp_system_registers; |
| QTreeWidgetItem* cpsr; |
| }; |
|
|