2008-09-23 16:14:12 +00:00
// 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/
# include "ConfigDlg.h"
# include "../PadSimple.h"
2008-09-24 22:20:37 +00:00
# ifdef _WIN32
2008-10-11 00:23:26 +00:00
# include "XInput.h"
2008-09-24 22:20:37 +00:00
# include "../DirectInputBase.h"
DInput m_dinput ;
# endif
2008-09-23 16:14:12 +00:00
BEGIN_EVENT_TABLE ( ConfigDialog , wxDialog )
EVT_CLOSE ( ConfigDialog : : OnClose )
EVT_BUTTON ( ID_CLOSE , ConfigDialog : : OnCloseClick )
2008-10-07 18:05:56 +00:00
EVT_BUTTON ( ID_PAD_ABOUT , ConfigDialog : : DllAbout )
2008-10-31 17:02:51 +00:00
EVT_CHECKBOX ( ID_ATTACHED , ConfigDialog : : ControllerSettingsChanged )
EVT_CHECKBOX ( ID_X360PAD , ConfigDialog : : ControllerSettingsChanged )
EVT_CHOICE ( ID_X360PAD_CHOICE , ConfigDialog : : ControllerSettingsChanged )
EVT_CHECKBOX ( ID_RUMBLE , ConfigDialog : : ControllerSettingsChanged )
EVT_CHECKBOX ( ID_DISABLE , ConfigDialog : : ControllerSettingsChanged )
2008-09-23 16:14:12 +00:00
EVT_BUTTON ( CTL_A , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_B , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_X , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_Y , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_Z , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_START , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_L , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_R , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_MAINUP , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_MAINDOWN , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_MAINLEFT , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_MAINRIGHT , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_SUBUP , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_SUBDOWN , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_SUBLEFT , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_SUBRIGHT , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_DPADUP , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_DPADDOWN , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_DPADLEFT , ConfigDialog : : OnButtonClick )
EVT_BUTTON ( CTL_DPADRIGHT , ConfigDialog : : OnButtonClick )
2008-09-26 14:29:38 +00:00
EVT_BUTTON ( CTL_HALFPRESS , ConfigDialog : : OnButtonClick )
2008-09-23 16:14:12 +00:00
END_EVENT_TABLE ( )
ConfigDialog : : ConfigDialog ( wxWindow * parent , wxWindowID id , const wxString & title , const wxPoint & position , const wxSize & size , long style )
: wxDialog ( parent , id , title , position , size , style )
{
2008-09-24 22:20:37 +00:00
# ifdef _WIN32
m_dinput . Init ( ( HWND ) parent ) ;
# endif
2008-09-23 16:14:12 +00:00
clickedButton = NULL ;
CreateGUIControls ( ) ;
}
ConfigDialog : : ~ ConfigDialog ( )
{
2008-09-25 07:02:10 +00:00
}
2008-09-23 16:14:12 +00:00
2008-09-25 17:57:57 +00:00
inline void AddControl ( wxPanel * pan , wxButton * * button , wxStaticBoxSizer * sizer ,
const char * name , int ctl , int controller )
{
2008-09-24 20:21:17 +00:00
wxBoxSizer * hButton = new wxBoxSizer ( wxHORIZONTAL ) ;
2008-09-25 17:57:57 +00:00
char keyStr [ 10 ] = { 0 } ;
2008-09-24 20:21:17 +00:00
2008-09-25 07:02:10 +00:00
hButton - > Add ( new wxStaticText ( pan , 0 , wxString : : FromAscii ( name ) ,
wxDefaultPosition , wxDefaultSize ) , 0 ,
2008-09-24 20:21:17 +00:00
wxALIGN_CENTER_VERTICAL | wxALL ) ;
2008-09-25 07:02:10 +00:00
# ifdef _WIN32
DInput : : DIKToString ( pad [ controller ] . keyForControl [ ctl ] , keyStr ) ;
# else
2008-09-25 17:57:57 +00:00
XKeyToString ( pad [ controller ] . keyForControl [ ctl ] , keyStr ) ;
2008-09-25 07:02:10 +00:00
# endif
* button = new wxButton ( pan , ctl , wxString : : FromAscii ( keyStr ) ,
2008-09-25 20:47:24 +00:00
wxDefaultPosition , wxDefaultSize , wxWANTS_CHARS ) ;
2008-09-24 20:21:17 +00:00
2008-09-25 21:16:32 +00:00
hButton - > Add ( * button , 0 , wxALIGN_RIGHT | wxALL ) ;
2008-09-25 18:02:45 +00:00
2008-09-25 21:16:32 +00:00
sizer - > Add ( hButton , 0 , wxALIGN_RIGHT | wxALL ) ;
2008-09-24 20:21:17 +00:00
}
2008-09-23 16:14:12 +00:00
void ConfigDialog : : CreateGUIControls ( )
2008-10-07 19:17:15 +00:00
{
2008-09-23 16:14:12 +00:00
// Notebook
m_Notebook = new wxNotebook ( this , ID_NOTEBOOK , wxDefaultPosition , wxDefaultSize ) ;
// Controller pages
m_Controller [ 0 ] = new wxPanel ( m_Notebook , ID_CONTROLLERPAGE1 , wxDefaultPosition , wxDefaultSize ) ;
m_Notebook - > AddPage ( m_Controller [ 0 ] , wxT ( " Controller 1 " ) ) ;
m_Controller [ 1 ] = new wxPanel ( m_Notebook , ID_CONTROLLERPAGE2 , wxDefaultPosition , wxDefaultSize ) ;
m_Notebook - > AddPage ( m_Controller [ 1 ] , wxT ( " Controller 2 " ) ) ;
m_Controller [ 2 ] = new wxPanel ( m_Notebook , ID_CONTROLLERPAGE3 , wxDefaultPosition , wxDefaultSize ) ;
m_Notebook - > AddPage ( m_Controller [ 2 ] , wxT ( " Controller 3 " ) ) ;
m_Controller [ 3 ] = new wxPanel ( m_Notebook , ID_CONTROLLERPAGE4 , wxDefaultPosition , wxDefaultSize ) ;
m_Notebook - > AddPage ( m_Controller [ 3 ] , wxT ( " Controller 4 " ) ) ;
// Standard buttons
m_Close = new wxButton ( this , ID_CLOSE , wxT ( " Close " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
2008-10-07 19:17:15 +00:00
m_About = new wxButton ( this , ID_PAD_ABOUT , wxT ( " About " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
2008-09-23 16:14:12 +00:00
// Put notebook and standard buttons in sizers
wxBoxSizer * sSButtons ;
sSButtons = new wxBoxSizer ( wxHORIZONTAL ) ;
2008-10-07 19:17:15 +00:00
sSButtons - > Add ( m_About , 0 , wxALL , 5 ) ;
2008-09-23 16:14:12 +00:00
sSButtons - > Add ( 0 , 0 , 1 , wxEXPAND , 5 ) ;
sSButtons - > Add ( m_Close , 0 , wxALL , 5 ) ;
wxBoxSizer * sMain ;
sMain = new wxBoxSizer ( wxVERTICAL ) ;
sMain - > Add ( m_Notebook , 1 , wxEXPAND | wxALL , 5 ) ;
sMain - > Add ( sSButtons , 0 , wxEXPAND , 5 ) ;
this - > SetSizer ( sMain ) ;
this - > Layout ( ) ;
2008-10-31 17:02:51 +00:00
# ifdef _WIN32
// Add connected XPads
for ( int x = 0 ; x < 4 ; x + + )
{
XINPUT_STATE xstate ;
DWORD xresult = XInputGetState ( x , & xstate ) ;
2008-09-23 16:14:12 +00:00
2008-10-31 17:02:51 +00:00
if ( xresult = = ERROR_SUCCESS )
{
arrayStringFor_X360Pad . Add ( wxString : : Format ( " %i " , x + 1 ) ) ;
}
}
# endif
2008-09-23 16:14:12 +00:00
for ( int i = 0 ; i < 4 ; i + + )
{
2008-10-31 17:02:51 +00:00
sbDevice [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " Controller Settings " ) ) ;
sDevice [ i ] = new wxBoxSizer ( wxHORIZONTAL ) ;
2008-09-23 16:14:12 +00:00
m_Attached [ i ] = new wxCheckBox ( m_Controller [ i ] , ID_ATTACHED , wxT ( " Controller attached " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
2008-10-31 17:02:51 +00:00
m_X360Pad [ i ] = new wxCheckBox ( m_Controller [ i ] , ID_X360PAD , wxT ( " Use X360Pad " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
m_X360PadC [ i ] = new wxChoice ( m_Controller [ i ] , ID_X360PAD_CHOICE , wxDefaultPosition , wxDefaultSize , arrayStringFor_X360Pad , 0 , wxDefaultValidator ) ;
2008-09-23 16:14:12 +00:00
m_Rumble [ i ] = new wxCheckBox ( m_Controller [ i ] , ID_RUMBLE , wxT ( " Enable rumble " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
2008-10-31 17:02:51 +00:00
m_Disable [ i ] = new wxCheckBox ( m_Controller [ i ] , ID_DISABLE , wxT ( " Disable when Dolphin is not in focus " ) , wxDefaultPosition , wxDefaultSize , 0 , wxDefaultValidator ) ;
m_Attached [ i ] - > SetValue ( pad [ i ] . bAttached ) ;
if ( arrayStringFor_X360Pad . IsEmpty ( ) )
2008-10-11 00:23:26 +00:00
{
2008-10-31 17:02:51 +00:00
m_X360Pad [ i ] - > SetLabel ( wxT ( " Use X360Pad - No pad connected " ) ) ;
m_X360Pad [ i ] - > SetValue ( false ) ;
m_X360Pad [ i ] - > Enable ( false ) ;
pad [ i ] . bEnableXPad = false ;
m_X360PadC [ i ] - > Hide ( ) ;
m_Rumble [ i ] - > Hide ( ) ;
2008-10-11 00:23:26 +00:00
}
2008-10-31 17:02:51 +00:00
else
{
m_X360Pad [ i ] - > SetValue ( pad [ i ] . bEnableXPad ) ;
m_X360PadC [ i ] - > SetSelection ( pad [ i ] . XPadPlayer ) ;
m_X360PadC [ i ] - > Enable ( m_X360Pad [ i ] - > IsChecked ( ) ) ;
m_Rumble [ i ] - > SetValue ( pad [ i ] . bRumble ) ;
m_Rumble [ i ] - > Enable ( m_X360Pad [ i ] - > IsChecked ( ) ) ;
}
m_Disable [ i ] - > SetValue ( pad [ i ] . bDisable ) ;
sDevice [ i ] - > Add ( m_Attached [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
sDevice [ i ] - > AddStretchSpacer ( ) ;
sDevice [ i ] - > Add ( m_X360Pad [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
sDevice [ i ] - > Add ( m_X360PadC [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
sDevice [ i ] - > Add ( m_Rumble [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
sDevice [ i ] - > AddStretchSpacer ( ) ;
sDevice [ i ] - > Add ( m_Disable [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
sbDevice [ i ] - > Add ( sDevice [ i ] , 0 , wxEXPAND | wxALL , 1 ) ;
2008-09-23 16:14:12 +00:00
2008-11-03 04:17:57 +00:00
sButtons [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " Buttons " ) ) ;
2008-09-25 07:02:10 +00:00
AddControl ( m_Controller [ i ] , & ( m_ButtonA [ i ] ) , sButtons [ i ] , " A: " , CTL_A , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonB [ i ] ) , sButtons [ i ] , " B: " , CTL_B , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonX [ i ] ) , sButtons [ i ] , " X: " , CTL_X , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonY [ i ] ) , sButtons [ i ] , " Y: " , CTL_Y , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonZ [ i ] ) , sButtons [ i ] , " Z: " , CTL_Z , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonStart [ i ] ) , sButtons [ i ] , " Start: " , CTL_START , i ) ;
2008-09-23 16:14:12 +00:00
2008-09-25 21:44:52 +00:00
sTriggers [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " Triggers " ) ) ;
2008-09-23 16:14:12 +00:00
2008-09-25 21:44:52 +00:00
AddControl ( m_Controller [ i ] , & ( m_ButtonL [ i ] ) , sTriggers [ i ] , " L: " , CTL_L , i ) ;
AddControl ( m_Controller [ i ] , & ( m_ButtonR [ i ] ) , sTriggers [ i ] , " R: " , CTL_R , i ) ;
2008-09-24 20:21:17 +00:00
2008-09-25 21:44:52 +00:00
sModifiers [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " Modifiers " ) ) ;
2008-09-26 14:29:38 +00:00
AddControl ( m_Controller [ i ] , & ( m_HalfPress [ i ] ) , sModifiers [ i ] , " 1/2 Press: " , CTL_HALFPRESS , i ) ;
2008-09-23 16:14:12 +00:00
sStick [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " Main Stick " ) ) ;
2008-09-25 07:02:10 +00:00
AddControl ( m_Controller [ i ] , & ( m_StickUp [ i ] ) , sStick [ i ] , " Up: " , CTL_MAINUP , i ) ;
AddControl ( m_Controller [ i ] , & ( m_StickDown [ i ] ) , sStick [ i ] , " Down: " , CTL_MAINDOWN , i ) ;
AddControl ( m_Controller [ i ] , & ( m_StickLeft [ i ] ) , sStick [ i ] , " Left: " , CTL_MAINLEFT , i ) ;
AddControl ( m_Controller [ i ] , & ( m_StickRight [ i ] ) , sStick [ i ] , " Right: " , CTL_MAINRIGHT , i ) ;
2008-09-23 16:14:12 +00:00
sDPad [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " D-Pad " ) ) ;
2008-09-25 07:02:10 +00:00
AddControl ( m_Controller [ i ] , & ( m_DPadUp [ i ] ) , sDPad [ i ] , " Up: " , CTL_DPADUP , i ) ;
AddControl ( m_Controller [ i ] , & ( m_DPadDown [ i ] ) , sDPad [ i ] , " Down: " , CTL_DPADDOWN , i ) ;
AddControl ( m_Controller [ i ] , & ( m_DPadLeft [ i ] ) , sDPad [ i ] , " Left: " , CTL_DPADLEFT , i ) ;
AddControl ( m_Controller [ i ] , & ( m_DPadRight [ i ] ) , sDPad [ i ] , " Right: " , CTL_DPADRIGHT , i ) ;
2008-09-23 16:14:12 +00:00
sCStick [ i ] = new wxStaticBoxSizer ( wxVERTICAL , m_Controller [ i ] , wxT ( " C-Stick " ) ) ;
2008-09-24 20:21:17 +00:00
2008-09-25 07:02:10 +00:00
AddControl ( m_Controller [ i ] , & ( m_CStickUp [ i ] ) , sCStick [ i ] , " Up: " , CTL_SUBUP , i ) ;
AddControl ( m_Controller [ i ] , & ( m_CStickDown [ i ] ) , sCStick [ i ] , " Down: " , CTL_SUBDOWN , i ) ;
AddControl ( m_Controller [ i ] , & ( m_CStickLeft [ i ] ) , sCStick [ i ] , " Left: " , CTL_SUBLEFT , i ) ;
AddControl ( m_Controller [ i ] , & ( m_CStickRight [ i ] ) , sCStick [ i ] , " Right: " , CTL_SUBRIGHT , i ) ;
2008-09-23 16:14:12 +00:00
sPage [ i ] = new wxGridBagSizer ( 0 , 0 ) ;
sPage [ i ] - > SetFlexibleDirection ( wxBOTH ) ;
sPage [ i ] - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2008-10-31 17:02:51 +00:00
sPage [ i ] - > Add ( sbDevice [ i ] , wxGBPosition ( 0 , 0 ) , wxGBSpan ( 1 , 5 ) , wxEXPAND | wxALL , 1 ) ;
2008-09-25 21:44:52 +00:00
sPage [ i ] - > Add ( sButtons [ i ] , wxGBPosition ( 1 , 0 ) , wxGBSpan ( 2 , 1 ) , wxALL , 1 ) ;
sPage [ i ] - > Add ( sTriggers [ i ] , wxGBPosition ( 1 , 1 ) , wxGBSpan ( 1 , 1 ) , wxEXPAND | wxALL , 1 ) ;
sPage [ i ] - > Add ( sModifiers [ i ] , wxGBPosition ( 2 , 1 ) , wxGBSpan ( 1 , 1 ) , wxALL , 1 ) ;
2008-09-23 16:14:12 +00:00
sPage [ i ] - > Add ( sStick [ i ] , wxGBPosition ( 1 , 2 ) , wxGBSpan ( 2 , 1 ) , wxALL , 1 ) ;
sPage [ i ] - > Add ( sDPad [ i ] , wxGBPosition ( 1 , 3 ) , wxGBSpan ( 2 , 1 ) , wxALL , 1 ) ;
sPage [ i ] - > Add ( sCStick [ i ] , wxGBPosition ( 1 , 4 ) , wxGBSpan ( 2 , 1 ) , wxALL , 1 ) ;
m_Controller [ i ] - > SetSizer ( sPage [ i ] ) ;
sPage [ i ] - > Layout ( ) ;
}
SetIcon ( wxNullIcon ) ;
Fit ( ) ;
}
void ConfigDialog : : OnClose ( wxCloseEvent & event )
{
2008-09-24 22:20:37 +00:00
# ifdef _WIN32
m_dinput . Free ( ) ;
# endif
2008-09-23 16:14:12 +00:00
EndModal ( 0 ) ;
}
2008-09-25 21:44:52 +00:00
2008-09-23 16:14:12 +00:00
void ConfigDialog : : OnKeyDown ( wxKeyEvent & event )
{
if ( clickedButton ! = NULL )
{
int page = m_Notebook - > GetSelection ( ) ;
2008-09-24 22:20:37 +00:00
# ifdef _WIN32
m_dinput . Read ( ) ;
for ( int i = 0 ; i < 255 ; i + + )
{
if ( m_dinput . diks [ i ] )
{
2008-09-25 17:57:57 +00:00
char keyStr [ 10 ] = { 0 } ;
2008-09-24 22:20:37 +00:00
pad [ page ] . keyForControl [ clickedButton - > GetId ( ) ] = i ;
2008-09-25 17:57:57 +00:00
DInput : : DIKToString ( i , keyStr ) ;
clickedButton - > SetLabel ( wxString : : FromAscii ( keyStr ) ) ;
2008-09-25 20:40:17 +00:00
break ;
2008-09-24 22:20:37 +00:00
}
}
# else
2008-09-25 09:15:34 +00:00
pad [ page ] . keyForControl [ clickedButton - > GetId ( ) ] = wxCharCodeWXToX ( event . GetKeyCode ( ) ) ;
2008-09-23 16:14:12 +00:00
clickedButton - > SetLabel ( wxString : : Format ( _T ( " %c " ) , event . GetKeyCode ( ) ) ) ;
2008-09-25 17:57:57 +00:00
# endif
clickedButton - > Disconnect ( ) ;
2008-09-23 16:14:12 +00:00
}
clickedButton = NULL ;
event . Skip ( ) ;
}
2008-09-25 21:44:52 +00:00
2008-09-23 16:14:12 +00:00
void ConfigDialog : : OnCloseClick ( wxCommandEvent & event )
{
Close ( ) ;
}
2008-10-31 17:02:51 +00:00
void ConfigDialog : : ControllerSettingsChanged ( wxCommandEvent & event )
2008-09-25 21:44:52 +00:00
{
int page = m_Notebook - > GetSelection ( ) ;
2008-10-31 17:02:51 +00:00
switch ( event . GetId ( ) )
2008-09-25 21:44:52 +00:00
{
2008-10-31 17:02:51 +00:00
case ID_ATTACHED :
pad [ page ] . bAttached = m_Attached [ page ] - > GetValue ( ) ;
break ;
case ID_X360PAD :
pad [ page ] . bEnableXPad = event . IsChecked ( ) ;
m_Rumble [ page ] - > Enable ( event . IsChecked ( ) ) ;
m_X360PadC [ page ] - > Enable ( event . IsChecked ( ) ) ;
break ;
case ID_X360PAD_CHOICE :
pad [ page ] . XPadPlayer = event . GetSelection ( ) ;
break ;
case ID_RUMBLE :
pad [ page ] . bRumble = m_Rumble [ page ] - > GetValue ( ) ;
break ;
case ID_DISABLE :
pad [ page ] . bDisable = m_Disable [ page ] - > GetValue ( ) ;
break ;
2008-09-25 21:44:52 +00:00
}
}
2008-09-23 16:14:12 +00:00
void ConfigDialog : : OnButtonClick ( wxCommandEvent & event )
{
2008-09-24 22:20:37 +00:00
if ( clickedButton )
{
clickedButton - > SetLabel ( oldLabel ) ;
}
2008-09-23 16:14:12 +00:00
clickedButton = ( wxButton * ) event . GetEventObject ( ) ;
oldLabel = clickedButton - > GetLabel ( ) ;
2008-09-25 09:15:34 +00:00
clickedButton - > SetLabel ( _ ( " Press Key " ) ) ;
2008-09-25 17:57:57 +00:00
2008-09-24 22:20:37 +00:00
clickedButton - > Connect ( wxID_ANY , wxEVT_KEY_DOWN ,
wxKeyEventHandler ( ConfigDialog : : OnKeyDown ) ,
( wxObject * ) NULL , this ) ;
2008-09-23 16:14:12 +00:00
}
2008-10-07 18:05:56 +00:00
void ConfigDialog : : DllAbout ( wxCommandEvent & event )
{
wxAboutDialogInfo info ;
info . AddDeveloper ( _T ( " ector " ) ) ;
info . AddDeveloper ( _T ( " F|RES " ) ) ;
info . SetDescription ( _T ( " Simple keyboard and XInput plugin for dolphin " ) ) ;
wxAboutBox ( info ) ;
}