mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-07-08 16:18:41 +12:00
Some checks are pending
Android Build / x64 (release) (push) Waiting to run
Android Build / arm64 (release) (push) Waiting to run
HTTP Server Build / build (push) Waiting to run
Hydra Core Build / Windows (push) Waiting to run
Hydra Core Build / MacOS (push) Waiting to run
Hydra Core Build / Linux (push) Waiting to run
Hydra Core Build / Android-x64 (push) Waiting to run
Hydra Core Build / ARM-Libretro (push) Waiting to run
Linux AppImage Build / build (push) Waiting to run
Linux Build / build (push) Waiting to run
MacOS Build / MacOS-arm64 (push) Waiting to run
MacOS Build / MacOS-x86_64 (push) Waiting to run
MacOS Build / MacOS-Universal (push) Blocked by required conditions
Qt Build / Windows (push) Waiting to run
Qt Build / MacOS-arm64 (push) Waiting to run
Qt Build / MacOS-x86_64 (push) Waiting to run
Qt Build / MacOS-Universal (push) Blocked by required conditions
Qt Build / Linux (push) Waiting to run
Windows Build / build (push) Waiting to run
iOS Simulator Build / build (push) Waiting to run
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#pragma once
|
|
#include <QLineEdit>
|
|
#include <QListWidget>
|
|
#include <QPlainTextEdit>
|
|
#include <QScrollBar>
|
|
#include <QWidget>
|
|
|
|
#include "capstone.hpp"
|
|
#include "emulator.hpp"
|
|
#include "panda_qt/disabled_widget_overlay.hpp"
|
|
|
|
class CPUDebugger : public QWidget {
|
|
Q_OBJECT
|
|
Emulator* emu;
|
|
|
|
QListWidget* disasmListWidget;
|
|
QScrollBar* verticalScrollBar;
|
|
QPlainTextEdit* registerTextEdit;
|
|
QTimer* updateTimer;
|
|
QLineEdit* addressInput;
|
|
|
|
DisabledWidgetOverlay* disabledOverlay;
|
|
|
|
bool enabled = false;
|
|
bool followPC = false;
|
|
Common::CapstoneDisassembler disassembler;
|
|
|
|
public:
|
|
CPUDebugger(Emulator* emulator, QWidget* parent = nullptr);
|
|
void enable();
|
|
void disable();
|
|
|
|
private:
|
|
// Update the state of the disassembler. Qt events should always call update, not updateDisasm/updateRegister
|
|
// As update properly handles thread safety
|
|
void update();
|
|
void updateDisasm();
|
|
void updateRegisters();
|
|
void scrollToPC();
|
|
|
|
bool eventFilter(QObject* obj, QEvent* event) override;
|
|
void showEvent(QShowEvent* event) override;
|
|
void resizeEvent(QResizeEvent* event) override;
|
|
void keyPressEvent(QKeyEvent* event) override;
|
|
};
|