graphics_breakpoints.h 1.4 KB

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