1 // Copyright 2014 Citra Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include <memory> 8 #include <QDockWidget> 9 #include "video_core/debug_utils/debug_utils.h" 10 11 class QLabel; 12 class QPushButton; 13 class QTreeView; 14 15 class BreakPointModel; 16 17 class GraphicsBreakPointsWidget : public QDockWidget, Pica::DebugContext::BreakPointObserver { 18 Q_OBJECT 19 20 using Event = Pica::DebugContext::Event; 21 22 public: 23 explicit GraphicsBreakPointsWidget(std::shared_ptr<Pica::DebugContext> debug_context, 24 QWidget* parent = nullptr); 25 26 void OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data) override; 27 void OnPicaResume() override; 28 29 signals: 30 void Resumed(); 31 void BreakPointHit(Pica::DebugContext::Event event, void* data); 32 void BreakPointsChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight); 33 34 private: 35 void OnBreakPointHit(Pica::DebugContext::Event event, void* data); 36 void OnItemDoubleClicked(const QModelIndex&); 37 void OnResumeRequested(); 38 void OnResumed(); 39 40 QLabel* status_text; 41 QPushButton* resume_button; 42 43 BreakPointModel* breakpoint_model; 44 QTreeView* breakpoint_list; 45 }; 46