// Copyright 2014 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include #include #include #include "Common/CommonTypes.h" class wxButton; class wxChoice; class wxFocusEvent; class wxListEvent; class wxListView; class wxRadioBox; class wxRadioButton; class wxStaticText; class wxTextCtrl; class CheatSearchTab final : public wxPanel { public: CheatSearchTab(wxWindow* const parent); void UpdateGUI(); private: class CheatSearchResult final { public: CheatSearchResult() : address(0), old_value(0) {} u32 address; u32 old_value; }; void UpdateCheatSearchResultsList(); void UpdateCheatSearchResultItem(long index); void FilterCheatSearchResults(u32 value, bool prev); bool ParseUserEnteredValue(u32* out) const; u32 SwapValue(u32 value) const; void OnNewScanClicked(wxCommandEvent&); void OnNextScanClicked(wxCommandEvent&); void OnCreateARCodeClicked(wxCommandEvent&); void OnListViewItemActivated(wxListEvent&); void OnListViewItemSelected(wxListEvent&); void OnTimerUpdate(wxTimerEvent&); std::vector m_search_results; unsigned int m_search_type_size; bool m_scan_is_initialized = false; wxChoice* m_search_type; wxListView* m_lview_search_results; wxStaticText* m_label_results_count; wxTextCtrl* m_textctrl_value_x; wxButton* m_btn_create_code; wxButton* m_btn_init_scan; wxButton* m_btn_next_scan; wxStaticText* m_label_scan_disabled; wxRadioBox* m_data_sizes; wxTimer m_update_timer; };