mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-07-08 16:18:41 +12:00
Qt: Initial CPU debugger widget implementation
Co-Authored-By: liuk707 <62625900+liuk7071@users.noreply.github.com>
This commit is contained in:
parent
8e20bd6220
commit
9dc52577ea
8 changed files with 311 additions and 6 deletions
38
include/panda_qt/cpu_debugger.hpp
Normal file
38
include/panda_qt/cpu_debugger.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
#pragma once
|
||||
#include <QListWidget>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QScrollBar>
|
||||
#include <QWidget>
|
||||
|
||||
#include "emulator.hpp"
|
||||
#include "panda_qt/disabled_widget_overlay.hpp"
|
||||
|
||||
class CPUDebugger : public QWidget {
|
||||
Q_OBJECT
|
||||
Emulator* emu;
|
||||
|
||||
QListWidget* disasmListWidget;
|
||||
QScrollBar* verticalScrollBar;
|
||||
QPlainTextEdit* registerTextEdit;
|
||||
|
||||
DisabledWidgetOverlay* disabledOverlay;
|
||||
|
||||
bool enabled = false;
|
||||
|
||||
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();
|
||||
|
||||
bool eventFilter(QObject* obj, QEvent* event) override;
|
||||
void showEvent(QShowEvent* event) override;
|
||||
void resizeEvent(QResizeEvent* event) override;
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue