forked from dolphin-emu/dolphin
		
	CompareType, DataType, and Result aren't directly used externally, so these can have their definitions moved into the cpp file.
		
			
				
	
	
		
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2018 Dolphin Emulator Project
 | |
| // Licensed under GPLv2+
 | |
| // Refer to the license.txt file included.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <memory>
 | |
| #include <vector>
 | |
| 
 | |
| #include <QDialog>
 | |
| #include <QString>
 | |
| 
 | |
| #include "Common/CommonTypes.h"
 | |
| 
 | |
| class ARCodeWidget;
 | |
| class QComboBox;
 | |
| class QDialogButtonBox;
 | |
| class QLabel;
 | |
| class QLineEdit;
 | |
| class QPushButton;
 | |
| class QRadioButton;
 | |
| class QSplitter;
 | |
| class QTabWidget;
 | |
| class QTableWidget;
 | |
| class QTableWidgetItem;
 | |
| struct Result;
 | |
| 
 | |
| namespace Core
 | |
| {
 | |
| enum class State;
 | |
| }
 | |
| 
 | |
| namespace UICommon
 | |
| {
 | |
| class GameFile;
 | |
| }
 | |
| 
 | |
| class CheatsManager : public QDialog
 | |
| {
 | |
|   Q_OBJECT
 | |
| public:
 | |
|   explicit CheatsManager(QWidget* parent = nullptr);
 | |
|   ~CheatsManager();
 | |
| 
 | |
| private:
 | |
|   QWidget* CreateCheatSearch();
 | |
|   void CreateWidgets();
 | |
|   void ConnectWidgets();
 | |
|   void OnStateChanged(Core::State state);
 | |
| 
 | |
|   size_t GetTypeSize() const;
 | |
|   bool MatchesSearch(u32 addr) const;
 | |
| 
 | |
|   void Reset();
 | |
|   void NewSearch();
 | |
|   void NextSearch();
 | |
|   void Update();
 | |
|   void GenerateARCode();
 | |
| 
 | |
|   void OnWatchContextMenu();
 | |
|   void OnMatchContextMenu();
 | |
|   void OnWatchItemChanged(QTableWidgetItem* item);
 | |
| 
 | |
|   std::vector<Result> m_results;
 | |
|   std::vector<Result> m_watch;
 | |
|   std::shared_ptr<const UICommon::GameFile> m_game_file;
 | |
|   QDialogButtonBox* m_button_box;
 | |
|   QTabWidget* m_tab_widget = nullptr;
 | |
| 
 | |
|   QWidget* m_cheat_search;
 | |
|   ARCodeWidget* m_ar_code = nullptr;
 | |
| 
 | |
|   QLabel* m_result_label;
 | |
|   QTableWidget* m_match_table;
 | |
|   QTableWidget* m_watch_table;
 | |
|   QSplitter* m_option_splitter;
 | |
|   QSplitter* m_table_splitter;
 | |
|   QComboBox* m_match_length;
 | |
|   QComboBox* m_match_operation;
 | |
|   QLineEdit* m_match_value;
 | |
|   QPushButton* m_match_new;
 | |
|   QPushButton* m_match_next;
 | |
|   QPushButton* m_match_refresh;
 | |
|   QPushButton* m_match_reset;
 | |
| 
 | |
|   QRadioButton* m_match_decimal;
 | |
|   QRadioButton* m_match_hexadecimal;
 | |
|   QRadioButton* m_match_octal;
 | |
|   bool m_updating = false;
 | |
| };
 |