summaryrefslogtreecommitdiffstats
path: root/src/citra_qt/debugger/graphics_breakpoints.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/debugger/graphics_breakpoints.h')
-rw-r--r--src/citra_qt/debugger/graphics_breakpoints.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/citra_qt/debugger/graphics_breakpoints.h b/src/citra_qt/debugger/graphics_breakpoints.h
new file mode 100644
index 000000000..5b9ba324e
--- /dev/null
+++ b/src/citra_qt/debugger/graphics_breakpoints.h
@@ -0,0 +1,53 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <memory>
+
+#include <QAbstractListModel>
+#include <QDockWidget>
+
+#include "video_core/debug_utils/debug_utils.h"
+
+class QLabel;
+class QPushButton;
+class QTreeView;
+
+class BreakPointModel;
+
+class GraphicsBreakPointsWidget : public QDockWidget, Pica::DebugContext::BreakPointObserver {
+ Q_OBJECT
+
+ using Event = Pica::DebugContext::Event;
+
+public:
+ GraphicsBreakPointsWidget(std::shared_ptr<Pica::DebugContext> debug_context,
+ QWidget* parent = nullptr);
+
+ void OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data) override;
+ void OnPicaResume() override;
+
+public slots:
+ void OnBreakPointHit(Pica::DebugContext::Event event, void* data);
+ void OnResumeRequested();
+ void OnResumed();
+ void OnBreakpointSelectionChanged(const QModelIndex&);
+ void OnToggleBreakpointEnabled();
+
+signals:
+ void Resumed();
+ void BreakPointHit(Pica::DebugContext::Event event, void* data);
+ void BreakPointsChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight);
+
+private:
+ void UpdateToggleBreakpointButton(const QModelIndex& index);
+
+ QLabel* status_text;
+ QPushButton* resume_button;
+ QPushButton* toggle_breakpoint_button;
+
+ BreakPointModel* breakpoint_model;
+ QTreeView* breakpoint_list;
+};