New Wiimote Plugin: Added real wiimote support.(only tested on Windows, still a few probs: after refresh alt+F{5..8} x2 is needed) New Wiimote/GCPad: Re-merged Keyboard+Mouse for easier kb+mouse configuration, like before.(DirectInput doesn't support individual kb/mice anymore like I thought it did) Fixed some bugs and maybe leaks in GUI.(got rid of evil dynamic_cast) Renamed stuff from DirectInput to DInput, cause it's shorter and rhymes with XInput, I guess. (I remembered eol-style native, shuffle lost his job :P)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5822 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Jordan Woyak
2010-07-03 08:04:10 +00:00
parent 0dc8833396
commit 0bf3dfda03
25 changed files with 1276 additions and 736 deletions

View File

@ -47,29 +47,33 @@
class PadSetting
{
protected:
PadSetting() {}
PadSetting(wxControl* const _control) : wxcontrol(_control) { wxcontrol->SetClientData(this); }
public:
virtual void UpdateGUI() = 0;
virtual void UpdateValue() = 0;
virtual ~PadSetting() {}
wxControl* const wxcontrol;
};
class PadSettingExtension : public wxChoice, public PadSetting
class PadSettingExtension : public PadSetting
{
public:
PadSettingExtension( wxWindow* const parent, ControllerEmu::Extension* const ext );
PadSettingExtension(wxWindow* const parent, ControllerEmu::Extension* const ext);
void UpdateGUI();
void UpdateValue();
ControllerEmu::Extension* const extension;
};
class PadSettingChoice : public wxSpinCtrl, public PadSetting
class PadSettingSpin : public PadSetting
{
public:
PadSettingChoice( wxWindow* const parent, ControllerEmu::ControlGroup::Setting* const setting )
: wxSpinCtrl(parent, -1, wxEmptyString, wxDefaultPosition
, wxSize( 54, -1 ), 0, setting->low, setting->high, setting->value * 100)
PadSettingSpin(wxWindow* const parent, ControllerEmu::ControlGroup::Setting* const setting)
: PadSetting(new wxSpinCtrl(parent, -1, wxEmptyString, wxDefaultPosition
, wxSize( 54, -1 ), 0, setting->low, setting->high, setting->value * 100))
, value(setting->value) {}
void UpdateGUI();
@ -78,10 +82,10 @@ public:
ControlState& value;
};
class PadSettingCheckBox : public wxCheckBox, public PadSetting
class PadSettingCheckBox : public PadSetting
{
public:
PadSettingCheckBox( wxWindow* const parent, ControlState& _value, const char* const label );
PadSettingCheckBox(wxWindow* const parent, ControlState& _value, const char* const label);
void UpdateGUI();
void UpdateValue();
@ -106,6 +110,7 @@ public:
void UpdateListContents();
void SelectControl(const std::string& name);
void SetSelectedControl(wxCommandEvent& event);
void AppendControl(wxCommandEvent& event);
ControllerInterface::ControlReference* const control_reference;
@ -212,7 +217,7 @@ private:
class InputConfigDialog : public wxDialog
{
public:
InputConfigDialog( wxWindow* const parent, InputPlugin& plugin, const std::string& name);
InputConfigDialog( wxWindow* const parent, InputPlugin& plugin, const std::string& name, const int tab_num = 0);
//~InputConfigDialog();
bool Destroy();