mirror of
				https://github.com/dolphin-emu/dolphin.git
				synced 2025-10-25 09:29:43 +00:00 
			
		
		
		
	SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2020 Dolphin Emulator Project
 | |
| // SPDX-License-Identifier: GPL-2.0-or-later
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <QDockWidget>
 | |
| 
 | |
| #include "Common/CommonTypes.h"
 | |
| #include "Common/Debug/Threads.h"
 | |
| 
 | |
| class QCloseEvent;
 | |
| class QGroupBox;
 | |
| class QLineEdit;
 | |
| class QShowEvent;
 | |
| class QTableWidget;
 | |
| 
 | |
| class ThreadWidget : public QDockWidget
 | |
| {
 | |
|   Q_OBJECT
 | |
| public:
 | |
|   explicit ThreadWidget(QWidget* parent = nullptr);
 | |
|   ~ThreadWidget();
 | |
| 
 | |
| signals:
 | |
|   void RequestBreakpoint(u32 addr);
 | |
|   void RequestMemoryBreakpoint(u32 addr);
 | |
|   void RequestWatch(QString name, u32 addr);
 | |
|   void RequestViewInCode(u32 addr);
 | |
|   void RequestViewInMemory(u32 addr);
 | |
| 
 | |
| protected:
 | |
|   void closeEvent(QCloseEvent*) override;
 | |
|   void showEvent(QShowEvent* event) override;
 | |
| 
 | |
| private:
 | |
|   void CreateWidgets();
 | |
|   void ConnectWidgets();
 | |
| 
 | |
|   QLineEdit* CreateLineEdit() const;
 | |
|   QGroupBox* CreateContextGroup();
 | |
|   QGroupBox* CreateActiveThreadQueueGroup();
 | |
|   QGroupBox* CreateThreadGroup();
 | |
|   QGroupBox* CreateThreadContextGroup();
 | |
|   QGroupBox* CreateThreadCallstackGroup();
 | |
| 
 | |
|   void ShowContextMenu(QTableWidget* table);
 | |
| 
 | |
|   void Update();
 | |
|   void UpdateThreadContext(const Common::Debug::PartialContext& context);
 | |
|   void UpdateThreadCallstack(const Common::Debug::PartialContext& context);
 | |
|   void OnSelectionChanged(int row);
 | |
| 
 | |
|   QGroupBox* m_state;
 | |
|   QLineEdit* m_current_context;
 | |
|   QLineEdit* m_current_thread;
 | |
|   QLineEdit* m_default_thread;
 | |
|   QLineEdit* m_queue_head;
 | |
|   QLineEdit* m_queue_tail;
 | |
|   QTableWidget* m_thread_table;
 | |
|   QTableWidget* m_context_table;
 | |
|   QTableWidget* m_callstack_table;
 | |
|   Common::Debug::Threads m_threads;
 | |
| };
 |