dolphin/Source/Core/DolphinWX/Src/PluginOptions.h

109 lines
3.2 KiB
C++

// Copyright (C) 2003-2008 Dolphin Project.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __PLUGIN_OPTIONS_h__
#define __PLUGIN_OPTIONS_h__
#include <wx/gbsizer.h>
#undef PLUGIN_OPTIONS_STYLE
#define PLUGIN_OPTIONS_STYLE wxCAPTION | wxSYSTEM_MENU | wxDIALOG_NO_PARENT | wxMINIMIZE_BOX | wxCLOSE_BOX
class CPluginOptions
: public wxDialog
{
private:
DECLARE_EVENT_TABLE();
public:
CPluginOptions(wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Plugin Selection"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = PLUGIN_OPTIONS_STYLE);
virtual ~CPluginOptions();
void OKClick(wxCommandEvent& event);
void OnSelectionChanged(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnConfig(wxCommandEvent& event);
private:
//Do not add custom control declarations between
//GUI Control Declaration Start and GUI Control Declaration End.
//wxDev-C++ will remove them. Add custom code after the block.
////GUI Control Declaration Start
wxButton* OK;
wxButton* Cancel;
wxButton* Apply;
wxStaticText* PADText;
wxButton* PADAbout;
wxButton* PADConfig;
wxChoice* PADSelection;
wxButton* DSPAbout;
wxButton* DSPConfig;
wxStaticText* DSPText;
wxChoice* DSPSelection;
wxButton* GraphicAbout;
wxButton* GraphicConfig;
wxStaticText* GraphicText;
wxChoice* GraphicSelection;
////GUI Control Declaration End
private:
//Note: if you receive any error with these enum IDs, then you need to
//change your old form code that are based on the #define control IDs.
//#defines may replace a numeric value for the enum names.
//Try copy and pasting the below block in your old form header files.
enum
{
////GUI Enum Control ID Start
ID_CANCEL = 1034,
ID_APPLY = 1033,
ID_OK = 1032,
ID_PAD_TEXT = 1031,
ID_PAD_ABOUT = 1030,
ID_PAD_CONFIG = 1029,
ID_PAD_CB = 1028,
ID_DSP_ABOUT = 1027,
ID_DSP_CONFIG = 1026,
ID_DSP_TEXT = 1025,
ID_DSP_CB = 1024,
ID_GRAPHIC_ABOUT = 1007,
ID_GRAPHIC_CONFIG = 1006,
ID_GRAPHIC_TEXT = 1005,
ID_GRAPHIC_CB = 1003,
////GUI Enum Control ID End
ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values
};
private:
void OnClose(wxCloseEvent& event);
void CreateGUIControls();
void FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::string& _SelectFilename);
void CallConfig(wxChoice* _pChoice);
void CallAbout(wxChoice* _pChoice);
void DoApply();
bool GetFilename(wxChoice* _pChoice, std::string& _rFilename);
};
#endif