2015-05-24 04:55:12 +00:00
|
|
|
// Copyright 2010 Dolphin Emulator Project
|
2015-05-17 23:08:10 +00:00
|
|
|
// Licensed under GPLv2+
|
2013-04-18 03:43:35 +00:00
|
|
|
// Refer to the license.txt file included.
|
2010-07-22 01:48:48 +00:00
|
|
|
|
2014-02-10 18:54:46 +00:00
|
|
|
#pragma once
|
2010-07-22 01:48:48 +00:00
|
|
|
|
2014-02-22 22:36:30 +00:00
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <wx/panel.h>
|
2010-07-22 01:48:48 +00:00
|
|
|
|
2014-02-17 10:18:15 +00:00
|
|
|
#include "Core/GeckoCode.h"
|
2014-02-22 22:36:30 +00:00
|
|
|
|
|
|
|
class IniFile;
|
|
|
|
class wxButton;
|
|
|
|
class wxCheckListBox;
|
|
|
|
class wxListBox;
|
|
|
|
class wxStaticText;
|
|
|
|
class wxTextCtrl;
|
2010-07-22 01:48:48 +00:00
|
|
|
|
2016-07-23 01:05:22 +00:00
|
|
|
// GetClientData() -> GeckoCode* [immutable]
|
|
|
|
wxDECLARE_EVENT(DOLPHIN_EVT_GECKOCODE_TOGGLED, wxCommandEvent);
|
|
|
|
|
2010-07-22 01:48:48 +00:00
|
|
|
namespace Gecko
|
|
|
|
{
|
|
|
|
class CodeConfigPanel : public wxPanel
|
|
|
|
{
|
|
|
|
public:
|
2016-06-24 08:43:46 +00:00
|
|
|
CodeConfigPanel(wxWindow* const parent);
|
2010-07-22 01:48:48 +00:00
|
|
|
|
2016-06-24 08:43:46 +00:00
|
|
|
void LoadCodes(const IniFile& globalIni, const IniFile& localIni, const std::string& gameid = "",
|
|
|
|
bool checkRunning = false);
|
|
|
|
const std::vector<GeckoCode>& GetCodes() const { return m_gcodes; }
|
2010-07-22 01:48:48 +00:00
|
|
|
protected:
|
2016-06-24 08:43:46 +00:00
|
|
|
void UpdateInfoBox(wxCommandEvent&);
|
|
|
|
void ToggleCode(wxCommandEvent& evt);
|
|
|
|
void DownloadCodes(wxCommandEvent&);
|
|
|
|
// void ApplyChanges(wxCommandEvent&);
|
2010-07-23 05:22:12 +00:00
|
|
|
|
2016-06-24 08:43:46 +00:00
|
|
|
void UpdateCodeList(bool checkRunning = false);
|
2010-07-22 01:48:48 +00:00
|
|
|
|
|
|
|
private:
|
2016-06-24 08:43:46 +00:00
|
|
|
std::vector<GeckoCode> m_gcodes;
|
|
|
|
|
|
|
|
std::string m_gameid;
|
|
|
|
|
|
|
|
// wxwidgets stuff
|
|
|
|
wxCheckListBox* m_listbox_gcodes;
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
wxStaticText *label_name, *label_notes, *label_creator;
|
|
|
|
wxTextCtrl* textctrl_notes;
|
|
|
|
wxListBox* listbox_codes;
|
|
|
|
} m_infobox;
|
|
|
|
wxButton* btn_download;
|
2010-07-22 01:48:48 +00:00
|
|
|
};
|
|
|
|
}
|