// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.

#pragma once

#include <wx/dialog.h>

class wxSpinButton;
class wxSpinEvent;
class wxTextCtrl;

namespace ActionReplay { struct ARCode; }

class CARCodeAddEdit : public wxDialog
{
public:
	CARCodeAddEdit(int _selection, std::vector<ActionReplay::ARCode>* _arCodes,
		wxWindow* parent,
		wxWindowID id = wxID_ANY,
		const wxString& title = _("Edit ActionReplay Code"),
		const wxPoint& pos = wxDefaultPosition,
		const wxSize& size = wxDefaultSize,
		long style = wxDEFAULT_DIALOG_STYLE);

private:
	wxTextCtrl* EditCheatName;
	wxSpinButton* EntrySelection;
	wxTextCtrl* EditCheatCode;

	std::vector<ActionReplay::ARCode>* arCodes;

	void SaveCheatData(wxCommandEvent& event);
	void ChangeEntry(wxSpinEvent& event);
	void UpdateTextCtrl(ActionReplay::ARCode arCode);

	int selection;
};