diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp index 23a56de1d4..6e17252ec4 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.cpp @@ -24,7 +24,7 @@ #include "Config.h" #include "EmuDefinitions.h" // for joyinfo -BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog) +BEGIN_EVENT_TABLE(WiimotePadConfigDialog, wxDialog) EVT_CLOSE(WiimotePadConfigDialog::OnClose) EVT_BUTTON(wxID_CLOSE, WiimotePadConfigDialog::CloseClick) @@ -49,7 +49,7 @@ BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog) EVT_CHECKBOX(IDC_TILT_PITCH_SWING, WiimotePadConfigDialog::GeneralSettingsChanged) EVT_CHECKBOX(IDC_TILT_ROLL_INVERT, WiimotePadConfigDialog::GeneralSettingsChanged) EVT_CHECKBOX(IDC_TILT_PITCH_INVERT, WiimotePadConfigDialog::GeneralSettingsChanged) - EVT_CHOICE(IDC_TRIGGER_TYPE, WiimotePadConfigDialog::GeneralSettingsChanged) + EVT_CHOICE(IDC_TRIGGER_TYPE, WiimotePadConfigDialog::GeneralSettingsChanged) EVT_CHOICE(IDC_NUNCHUCK_STICK, WiimotePadConfigDialog::GeneralSettingsChanged) EVT_CHOICE(IDC_CC_LEFT_STICK, WiimotePadConfigDialog::GeneralSettingsChanged) EVT_CHOICE(IDC_CC_RIGHT_STICK, WiimotePadConfigDialog::GeneralSettingsChanged) @@ -57,37 +57,72 @@ BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog) EVT_CHOICE(IDC_GH3_ANALOG, WiimotePadConfigDialog::GeneralSettingsChanged) // Analog - EVT_BUTTON(IDB_ANALOG_LEFT_X, WiimotePadConfigDialog::OnAxisClick) EVT_BUTTON(IDB_ANALOG_LEFT_Y, WiimotePadConfigDialog::OnAxisClick) - EVT_BUTTON(IDB_ANALOG_RIGHT_X, WiimotePadConfigDialog::OnAxisClick) EVT_BUTTON(IDB_ANALOG_RIGHT_Y, WiimotePadConfigDialog::OnAxisClick) - EVT_BUTTON(IDB_TRIGGER_L, WiimotePadConfigDialog::OnAxisClick) EVT_BUTTON(IDB_TRIGGER_R, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_ANALOG_LEFT_X, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_ANALOG_LEFT_Y, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_ANALOG_RIGHT_X, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_ANALOG_RIGHT_Y, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_TRIGGER_L, WiimotePadConfigDialog::OnAxisClick) + EVT_BUTTON(IDB_TRIGGER_R, WiimotePadConfigDialog::OnAxisClick) // Wiimote - EVT_BUTTON(IDB_WM_A, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_B, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_1, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_2, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_P, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_M, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_A, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_B, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_1, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_2, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_P, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_M, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_H, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_L, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_R, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_U, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_D, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_ROLL_L, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_ROLL_R, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_WM_PITCH_U, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_PITCH_D, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_L, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_R, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_U, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_D, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_ROLL_L, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_ROLL_R, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_PITCH_U, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_WM_PITCH_D, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_WM_SHAKE, WiimotePadConfigDialog::OnButtonClick) // Nunchuck - EVT_BUTTON(IDB_NC_Z, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_NC_C, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_NC_L, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_NC_R, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_NC_U, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_NC_D, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_NC_ROLL_L, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_NC_ROLL_R, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_NC_PITCH_U, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_NC_PITCH_D, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_NC_SHAKE, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_Z, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_C, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_L, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_R, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_U, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_D, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_ROLL_L, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_ROLL_R, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_PITCH_U, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_NC_PITCH_D, WiimotePadConfigDialog::OnButtonClick) +EVT_BUTTON(IDB_NC_SHAKE, WiimotePadConfigDialog::OnButtonClick) // Classic Controller - EVT_BUTTON(IDB_CC_A, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_B, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_X, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_Y, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_P, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_M, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_H, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_TL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_ZL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_ZR, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_TR, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_DL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DU, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DR, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DD, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_DL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DU, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DR, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_DD, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_LL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_LU, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_LR, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_LD, WiimotePadConfigDialog::OnButtonClick) - EVT_BUTTON(IDB_CC_RL, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_RU, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_RR, WiimotePadConfigDialog::OnButtonClick) EVT_BUTTON(IDB_CC_RD, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_A, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_B, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_X, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_Y, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_P, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_M, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_H, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_TL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_ZL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_ZR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_TR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DU, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DD, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DU, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_DD, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_LL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_LU, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_LR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_LD, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_RL, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_RU, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_RR, WiimotePadConfigDialog::OnButtonClick) + EVT_BUTTON(IDB_CC_RD, WiimotePadConfigDialog::OnButtonClick) // Guitar Hero 3 EVT_BUTTON(IDB_GH3_GREEN, WiimotePadConfigDialog::OnButtonClick) @@ -107,8 +142,8 @@ BEGIN_EVENT_TABLE(WiimotePadConfigDialog,wxDialog) END_EVENT_TABLE() -WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id, const wxString &title, - const wxPoint &position, const wxSize& size, long style) +WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id, + const wxString &title, const wxPoint &position, const wxSize& size, long style) : wxDialog(parent, id, title, position, size, style) { m_ControlsCreated = false;; @@ -327,7 +362,9 @@ wxBitmap WiimotePadConfigDialog::CreateBitmapDot() wxBitmap WiimotePadConfigDialog::CreateBitmapDeadZone(int Radius) { - wxBitmap bitmap(Radius*2, Radius*2); + int _Radius = Radius ? Radius : 1; + + wxBitmap bitmap(_Radius * 2, _Radius * 2); wxMemoryDC dc; dc.SelectObject(bitmap); @@ -506,7 +543,6 @@ void WiimotePadConfigDialog::CreatePadGUIControls() // Configuration controls sizes static const int BtW = 70, BtH = 20; -// static const int TxtW = 50, TxtH = 20; // These are never used. Will they ever be? // A small type font wxFont m_SmallFont(7, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL); @@ -514,426 +550,502 @@ void WiimotePadConfigDialog::CreatePadGUIControls() for (int i = 0; i < MAX_WIIMOTES; i++) { - m_Controller[i] = new wxPanel(m_Notebook, ID_CONTROLLERPAGE1 + i, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_Controller[i], wxString::Format(wxT("Wiimote %d"), i+1)); + wxPanel *m_Controller = + new wxPanel(m_Notebook, ID_CONTROLLERPAGE1 + i, wxDefaultPosition, wxDefaultSize); + m_Notebook->AddPage(m_Controller, wxString::Format(wxT("Wiimote %d"), i+1)); // Controller - m_Joyname[i] = new wxChoice(m_Controller[i], IDC_JOYNAME, wxDefaultPosition, wxSize(200, -1), StrJoyname, 0, wxDefaultValidator, StrJoyname[0]); + m_Joyname[i] = new wxChoice(m_Controller, IDC_JOYNAME, wxDefaultPosition, + wxSize(200, -1), StrJoyname, 0, wxDefaultValidator, StrJoyname[0]); m_Joyname[i]->SetToolTip(wxT("Save your settings and configure another joypad")); // Dead zone - m_ComboDeadZoneLabel[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Dead Zone")); - m_ComboDeadZoneLeft[i] = new wxChoice(m_Controller[i], IDC_DEAD_ZONE_LEFT, wxDefaultPosition, wxSize(50, -1), TextDeadZone, 0, wxDefaultValidator, TextDeadZone[0]); - m_ComboDeadZoneRight[i] = new wxChoice(m_Controller[i], IDC_DEAD_ZONE_RIGHT, wxDefaultPosition, wxSize(50, -1), TextDeadZone, 0, wxDefaultValidator, TextDeadZone[0]); + wxStaticText *m_ComboDeadZoneLabel = new wxStaticText(m_Controller, wxID_ANY, wxT("Dead Zone")); + m_ComboDeadZoneLeft[i] = new wxChoice(m_Controller, IDC_DEAD_ZONE_LEFT, + wxDefaultPosition, wxSize(50, -1), TextDeadZone, 0, wxDefaultValidator, TextDeadZone[0]); + m_ComboDeadZoneRight[i] = new wxChoice(m_Controller, IDC_DEAD_ZONE_RIGHT, + wxDefaultPosition, wxSize(50, -1), TextDeadZone, 0, wxDefaultValidator, TextDeadZone[0]); // Circle to square - m_CheckC2S[i] = new wxCheckBox(m_Controller[i], IDC_STICK_C2S, wxT("Circle To Square")); + m_CheckC2S[i] = new wxCheckBox(m_Controller, IDC_STICK_C2S, wxT("Circle To Square")); m_CheckC2S[i]->SetToolTip(wxT("This will convert a circular stick radius to a square stick radius.\n") wxT("This can be useful for the pitch and roll emulation.")); // The drop down menu for the circle to square adjustment - m_DiagonalLabel[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Diagonal")); - m_DiagonalLabel[i]->SetToolTip(wxT("To produce a perfect square circle in the 'Out' window you have to manually set\n") - wxT("your diagonal values here from what is shown in the 'In' window.")); - m_ComboDiagonal[i] = new wxChoice(m_Controller[i], IDC_STICK_DIAGONAL, wxDefaultPosition, wxSize(50, -1), StrDiagonal, 0, wxDefaultValidator, StrDiagonal[0]); + wxStaticText *m_DiagonalLabel = new wxStaticText(m_Controller, wxID_ANY, wxT("Diagonal")); + m_DiagonalLabel->SetToolTip(wxT("To produce a perfect square circle in the ") + wxT("'Out' window you have to manually set\n") + wxT("your diagonal values here from what is shown in the 'In' window.")); + m_ComboDiagonal[i] = new wxChoice(m_Controller, IDC_STICK_DIAGONAL, + wxDefaultPosition, wxSize(50, -1), StrDiagonal, 0, wxDefaultValidator, StrDiagonal[0]); // Rumble - m_CheckRumble[i] = new wxCheckBox(m_Controller[i], IDC_RUMBLE, wxT("Rumble")); - m_RumbleStrengthLabel[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Strength")); - m_RumbleStrength[i] = new wxChoice(m_Controller[i], IDC_RUMBLE_STRENGTH, wxDefaultPosition, wxSize(50, -1), StrRumble, 0, wxDefaultValidator, StrRumble[0]); + m_CheckRumble[i] = new wxCheckBox(m_Controller, IDC_RUMBLE, wxT("Rumble")); + wxStaticText *m_RumbleStrengthLabel = new wxStaticText(m_Controller, wxID_ANY, wxT("Strength")); + m_RumbleStrength[i] = new wxChoice(m_Controller, IDC_RUMBLE_STRENGTH, + wxDefaultPosition, wxSize(50, -1), StrRumble, 0, wxDefaultValidator, StrRumble[0]); // Sizers - m_sDeadZoneHoriz[i] = new wxBoxSizer(wxHORIZONTAL); - m_sDeadZoneHoriz[i]->Add(m_ComboDeadZoneLeft[i], 0, (wxUP), 0); - m_sDeadZoneHoriz[i]->Add(m_ComboDeadZoneRight[i], 0, (wxUP), 0); + wxBoxSizer *m_sDeadZoneHoriz = new wxBoxSizer(wxHORIZONTAL); + m_sDeadZoneHoriz->Add(m_ComboDeadZoneLeft[i], 0, (wxUP), 0); + m_sDeadZoneHoriz->Add(m_ComboDeadZoneRight[i], 0, (wxUP), 0); - m_sDeadZone[i] = new wxBoxSizer(wxVERTICAL); - m_sDeadZone[i]->Add(m_ComboDeadZoneLabel[i], 0, wxALIGN_CENTER | (wxUP), 0); - m_sDeadZone[i]->Add(m_sDeadZoneHoriz[i], 0, wxALIGN_CENTER | (wxUP), 2); + wxBoxSizer *m_sDeadZone = new wxBoxSizer(wxVERTICAL); + m_sDeadZone->Add(m_ComboDeadZoneLabel, 0, wxALIGN_CENTER | (wxUP), 0); + m_sDeadZone->Add(m_sDeadZoneHoriz, 0, wxALIGN_CENTER | (wxUP), 2); - m_sDiagonal[i] = new wxBoxSizer(wxHORIZONTAL); - m_sDiagonal[i]->Add(m_DiagonalLabel[i], 0, (wxUP), 4); - m_sDiagonal[i]->Add(m_ComboDiagonal[i], 0, (wxLEFT), 2); + wxBoxSizer *m_sDiagonal = new wxBoxSizer(wxHORIZONTAL); + m_sDiagonal->Add(m_DiagonalLabel, 0, (wxUP), 4); + m_sDiagonal->Add(m_ComboDiagonal[i], 0, (wxLEFT), 2); - m_sCircle2Square[i] = new wxBoxSizer(wxVERTICAL); - m_sCircle2Square[i]->Add(m_CheckC2S[i], 0, wxALIGN_CENTER | (wxUP), 0); - m_sCircle2Square[i]->Add(m_sDiagonal[i], 0, wxALIGN_CENTER | (wxUP), 2); + wxBoxSizer *m_sCircle2Square = new wxBoxSizer(wxVERTICAL); + m_sCircle2Square->Add(m_CheckC2S[i], 0, wxALIGN_CENTER | (wxUP), 0); + m_sCircle2Square->Add(m_sDiagonal, 0, wxALIGN_CENTER | (wxUP), 2); - m_sC2SDeadZone[i] = new wxBoxSizer(wxHORIZONTAL); - m_sC2SDeadZone[i]->Add(m_sDeadZone[i], 0, (wxUP), 0); - m_sC2SDeadZone[i]->Add(m_sCircle2Square[i], 0, (wxLEFT), 8); + wxBoxSizer *m_sC2SDeadZone = new wxBoxSizer(wxHORIZONTAL); + m_sC2SDeadZone->Add(m_sDeadZone, 0, (wxUP), 0); + m_sC2SDeadZone->Add(m_sCircle2Square, 0, (wxLEFT), 8); - m_sJoyname[i] = new wxBoxSizer(wxVERTICAL); - m_sJoyname[i]->Add(m_Joyname[i], 0, wxALIGN_CENTER | (wxUP | wxDOWN), 4); - m_sJoyname[i]->Add(m_sC2SDeadZone[i], 0, (wxUP | wxDOWN), 4); + wxBoxSizer *m_sJoyname = new wxBoxSizer(wxVERTICAL); + m_sJoyname->Add(m_Joyname[i], 0, wxALIGN_CENTER | (wxUP | wxDOWN), 4); + m_sJoyname->Add(m_sC2SDeadZone, 0, (wxUP | wxDOWN), 4); - m_sRumble[i] = new wxBoxSizer(wxVERTICAL); - m_sRumble[i]->Add(m_CheckRumble[i], 0, wxALIGN_CENTER | (wxUP | wxDOWN), 8); - m_sRumble[i]->Add(m_RumbleStrengthLabel[i], 0, wxALIGN_CENTER | (wxUP), 4); - m_sRumble[i]->Add(m_RumbleStrength[i], 0, (wxUP | wxDOWN), 2); + wxBoxSizer *m_sRumble = new wxBoxSizer(wxVERTICAL); + m_sRumble->Add(m_CheckRumble[i], 0, wxALIGN_CENTER | (wxUP | wxDOWN), 8); + m_sRumble->Add(m_RumbleStrengthLabel, 0, wxALIGN_CENTER | (wxUP), 4); + m_sRumble->Add(m_RumbleStrength[i], 0, (wxUP | wxDOWN), 2); - m_gJoyPad[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Gamepad")); - m_gJoyPad[i]->AddStretchSpacer(); - m_gJoyPad[i]->Add(m_sJoyname[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); - m_gJoyPad[i]->Add(m_sRumble[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); - m_gJoyPad[i]->AddStretchSpacer(); + wxStaticBoxSizer *m_gJoyPad = + new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, wxT("Gamepad")); + m_gJoyPad->AddStretchSpacer(); + m_gJoyPad->Add(m_sJoyname, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + m_gJoyPad->Add(m_sRumble, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + m_gJoyPad->AddStretchSpacer(); // Tilt Wiimote - m_tTiltTypeWM[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Wiimote")); - m_tTiltTypeNC[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Nunchuck")); + wxStaticText *m_tTiltTypeWM = new wxStaticText(m_Controller, wxID_ANY, wxT("Wiimote")); + wxStaticText *m_tTiltTypeNC = new wxStaticText(m_Controller, wxID_ANY, wxT("Nunchuck")); - m_TiltTypeWM[i] = new wxChoice(m_Controller[i], IDC_TILT_TYPE_WM, wxDefaultPosition, wxSize(70, -1), StrTilt, 0, wxDefaultValidator, StrTilt[0]); + m_TiltTypeWM[i] = new wxChoice(m_Controller, IDC_TILT_TYPE_WM, + wxDefaultPosition, wxSize(70, -1), StrTilt, 0, wxDefaultValidator, StrTilt[0]); m_TiltTypeWM[i]->SetToolTip(wxT("Control Wiimote tilting by keyboard or stick or trigger")); - m_TiltTypeNC[i] = new wxChoice(m_Controller[i], IDC_TILT_TYPE_NC, wxDefaultPosition, wxSize(70, -1), StrTilt, 0, wxDefaultValidator, StrTilt[0]); + m_TiltTypeNC[i] = new wxChoice(m_Controller, IDC_TILT_TYPE_NC, + wxDefaultPosition, wxSize(70, -1), StrTilt, 0, wxDefaultValidator, StrTilt[0]); m_TiltTypeNC[i]->SetToolTip(wxT("Control Nunchuck tilting by keyboard or stick or trigger")); - m_TiltTextRoll[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Roll Left/Right")); - m_TiltTextPitch[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Pitch Up/Down")); + wxStaticText *m_TiltTextRoll = new wxStaticText(m_Controller, wxID_ANY, wxT("Roll Left/Right")); + wxStaticText *m_TiltTextPitch = new wxStaticText(m_Controller, wxID_ANY, wxT("Pitch Up/Down")); - m_TiltComboRangeRoll[i] = new wxChoice(m_Controller[i], IDC_TILT_ROLL, wxDefaultPosition, wxSize(50, -1), StrTiltRangeRoll, 0, wxDefaultValidator, StrTiltRangeRoll[0]); + m_TiltComboRangeRoll[i] = new wxChoice(m_Controller, IDC_TILT_ROLL, + wxDefaultPosition, wxSize(50, -1), StrTiltRangeRoll, 0, + wxDefaultValidator, StrTiltRangeRoll[0]); m_TiltComboRangeRoll[i]->SetToolTip(wxT("The maximum Left/Righ Roll in degrees")); - m_TiltComboRangePitch[i] = new wxChoice(m_Controller[i], IDC_TILT_PITCH, wxDefaultPosition, wxSize(50, -1), StrTiltRangePitch, 0, wxDefaultValidator, StrTiltRangePitch[0]); + m_TiltComboRangePitch[i] = new wxChoice(m_Controller, IDC_TILT_PITCH, + wxDefaultPosition, wxSize(50, -1), StrTiltRangePitch, 0, + wxDefaultValidator, StrTiltRangePitch[0]); m_TiltComboRangePitch[i]->SetToolTip(wxT("The maximum Up/Down Pitch in degrees")); - m_TiltRollSwing[i] = new wxCheckBox(m_Controller[i], IDC_TILT_ROLL_SWING, wxT("Swing")); + m_TiltRollSwing[i] = new wxCheckBox(m_Controller, IDC_TILT_ROLL_SWING, wxT("Swing")); m_TiltRollSwing[i]->SetToolTip(wxT("Emulate Swing Left/Right instead of Roll Left/Right")); - m_TiltPitchSwing[i] = new wxCheckBox(m_Controller[i], IDC_TILT_PITCH_SWING, wxT("Swing")); + m_TiltPitchSwing[i] = new wxCheckBox(m_Controller, IDC_TILT_PITCH_SWING, wxT("Swing")); m_TiltPitchSwing[i]->SetToolTip(wxT("Emulate Swing Up/Down instead of Pitch Up/Down")); - m_TiltRollInvert[i] = new wxCheckBox(m_Controller[i], IDC_TILT_ROLL_INVERT, wxT("Invert")); - m_TiltRollInvert[i]->SetToolTip(wxT("Invert Left/Right direction (only effective for stick and trigger)")); - m_TiltPitchInvert[i] = new wxCheckBox(m_Controller[i], IDC_TILT_PITCH_INVERT, wxT("Invert")); - m_TiltPitchInvert[i]->SetToolTip(wxT("Invert Up/Down direction (only effective for stick and trigger)")); + m_TiltRollInvert[i] = new wxCheckBox(m_Controller, IDC_TILT_ROLL_INVERT, wxT("Invert")); + m_TiltRollInvert[i]-> + SetToolTip(wxT("Invert Left/Right direction (only effective for stick and trigger)")); + m_TiltPitchInvert[i] = new wxCheckBox(m_Controller, IDC_TILT_PITCH_INVERT, wxT("Invert")); + m_TiltPitchInvert[i]-> + SetToolTip(wxT("Invert Up/Down direction (only effective for stick and trigger)")); // Sizers - m_sTiltType[i] = new wxBoxSizer(wxHORIZONTAL); - m_sTiltType[i]->Add(m_tTiltTypeWM[i], 0, wxEXPAND | (wxUP | wxDOWN | wxRIGHT), 4); - m_sTiltType[i]->Add(m_TiltTypeWM[i], 0, wxEXPAND | (wxDOWN | wxRIGHT), 4); - m_sTiltType[i]->Add(m_tTiltTypeNC[i], 0, wxEXPAND | (wxUP | wxDOWN | wxLEFT), 4); - m_sTiltType[i]->Add(m_TiltTypeNC[i], 0, wxEXPAND | (wxDOWN | wxLEFT), 4); + wxBoxSizer *m_sTiltType = new wxBoxSizer(wxHORIZONTAL); + m_sTiltType->Add(m_tTiltTypeWM, 0, wxEXPAND | (wxUP | wxDOWN | wxRIGHT), 4); + m_sTiltType->Add(m_TiltTypeWM[i], 0, wxEXPAND | (wxDOWN | wxRIGHT), 4); + m_sTiltType->Add(m_tTiltTypeNC, 0, wxEXPAND | (wxUP | wxDOWN | wxLEFT), 4); + m_sTiltType->Add(m_TiltTypeNC[i], 0, wxEXPAND | (wxDOWN | wxLEFT), 4); - m_sGridTilt[i] = new wxGridBagSizer(0, 0); - m_sGridTilt[i]->Add(m_TiltTextRoll[i], wxGBPosition(0, 0), wxGBSpan(1, 1), (wxUP | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltComboRangeRoll[i], wxGBPosition(0, 1), wxGBSpan(1, 1), (wxLEFT | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltRollSwing[i], wxGBPosition(0, 2), wxGBSpan(1, 1), (wxUP | wxLEFT | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltRollInvert[i], wxGBPosition(0, 3), wxGBSpan(1, 1), (wxUP | wxLEFT), 4); - m_sGridTilt[i]->Add(m_TiltTextPitch[i], wxGBPosition(1, 0), wxGBSpan(1, 1), (wxUP | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltComboRangePitch[i], wxGBPosition(1, 1), wxGBSpan(1, 1), (wxLEFT | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltPitchSwing[i], wxGBPosition(1, 2), wxGBSpan(1, 1), (wxUP | wxLEFT | wxRIGHT), 4); - m_sGridTilt[i]->Add(m_TiltPitchInvert[i], wxGBPosition(1, 3), wxGBSpan(1, 1), (wxUP | wxLEFT), 4); + wxGridBagSizer *m_sGridTilt = new wxGridBagSizer(0, 0); + m_sGridTilt->Add(m_TiltTextRoll, wxGBPosition(0, 0), wxGBSpan(1, 1), + (wxUP | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltComboRangeRoll[i], wxGBPosition(0, 1), wxGBSpan(1, 1), + (wxLEFT | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltRollSwing[i], wxGBPosition(0, 2), wxGBSpan(1, 1), + (wxUP | wxLEFT | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltRollInvert[i], wxGBPosition(0, 3), wxGBSpan(1, 1), + (wxUP | wxLEFT), 4); + m_sGridTilt->Add(m_TiltTextPitch, wxGBPosition(1, 0), wxGBSpan(1, 1), + (wxUP | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltComboRangePitch[i], wxGBPosition(1, 1), wxGBSpan(1, 1), + (wxLEFT | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltPitchSwing[i], wxGBPosition(1, 2), wxGBSpan(1, 1), + (wxUP | wxLEFT | wxRIGHT), 4); + m_sGridTilt->Add(m_TiltPitchInvert[i], wxGBPosition(1, 3), wxGBSpan(1, 1), + (wxUP | wxLEFT), 4); - m_gTilt[i] = new wxStaticBoxSizer (wxVERTICAL, m_Controller[i], wxT("Tilt and Swing")); - m_gTilt[i]->AddStretchSpacer(); - m_gTilt[i]->Add(m_sTiltType[i], 0, wxEXPAND | (wxLEFT | wxDOWN), 5); - m_gTilt[i]->Add(m_sGridTilt[i], 0, wxEXPAND | (wxLEFT), 5); - m_gTilt[i]->AddStretchSpacer(); + wxStaticBoxSizer *m_gTilt = new wxStaticBoxSizer (wxVERTICAL, m_Controller, wxT("Tilt and Swing")); + m_gTilt->AddStretchSpacer(); + m_gTilt->Add(m_sTiltType, 0, wxEXPAND | (wxLEFT | wxDOWN), 5); + m_gTilt->Add(m_sGridTilt, 0, wxEXPAND | (wxLEFT), 5); + m_gTilt->AddStretchSpacer(); // Row 1 Sizers: Connected pads, tilt - m_sHorizController[i] = new wxBoxSizer(wxHORIZONTAL); - m_sHorizController[i]->Add(m_gJoyPad[i], 0, wxEXPAND | (wxLEFT), 5); - m_sHorizController[i]->Add(m_gTilt[i], 0, wxEXPAND | (wxLEFT), 5); - + wxBoxSizer *m_sHorizController = new wxBoxSizer(wxHORIZONTAL); + m_sHorizController->Add(m_gJoyPad, 0, wxEXPAND | (wxLEFT), 5); + m_sHorizController->Add(m_gTilt, 0, wxEXPAND | (wxLEFT), 5); // Stick Status Panels - m_tStatusLeftIn[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Not connected")); - m_tStatusLeftOut[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Not connected")); - m_tStatusRightIn[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Not connected")); - m_tStatusRightOut[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Not connected")); + m_tStatusLeftIn[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("Not connected")); + m_tStatusLeftOut[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("Not connected")); + m_tStatusRightIn[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("Not connected")); + m_tStatusRightOut[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("Not connected")); - m_pLeftInStatus[i] = new wxPanel(m_Controller[i], wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_bmpSquareLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus[i], wxID_ANY, CreateBitmap(), wxDefaultPosition, wxDefaultSize); - m_bmpDeadZoneLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus[i], wxID_ANY, CreateBitmapDeadZone(0), wxDefaultPosition, wxDefaultSize); - m_bmpDotLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus[i], wxID_ANY, CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); + wxPanel *m_pLeftInStatus = new wxPanel(m_Controller, wxID_ANY, + wxDefaultPosition, wxDefaultSize); + m_bmpSquareLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus, wxID_ANY, + CreateBitmap(), wxDefaultPosition, wxDefaultSize); + m_bmpDeadZoneLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus, wxID_ANY, + CreateBitmapDeadZone(0), wxDefaultPosition, wxDefaultSize); + m_bmpDotLeftIn[i] = new wxStaticBitmap(m_pLeftInStatus, wxID_ANY, + CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); - m_pLeftOutStatus[i] = new wxPanel(m_Controller[i], wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_bmpSquareLeftOut[i] = new wxStaticBitmap(m_pLeftOutStatus[i], wxID_ANY, CreateBitmap(), wxDefaultPosition, wxDefaultSize); - m_bmpDotLeftOut[i] = new wxStaticBitmap(m_pLeftOutStatus[i], wxID_ANY, CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); + wxPanel *m_pLeftOutStatus = new wxPanel(m_Controller, wxID_ANY, wxDefaultPosition, wxDefaultSize); + m_bmpSquareLeftOut[i] = new wxStaticBitmap(m_pLeftOutStatus, wxID_ANY, + CreateBitmap(), wxDefaultPosition, wxDefaultSize); + m_bmpDotLeftOut[i] = new wxStaticBitmap(m_pLeftOutStatus, wxID_ANY, + CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); - m_pRightInStatus[i] = new wxPanel(m_Controller[i], wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_bmpSquareRightIn[i] = new wxStaticBitmap(m_pRightInStatus[i], wxID_ANY, CreateBitmap(), wxDefaultPosition, wxDefaultSize); - m_bmpDeadZoneRightIn[i] = new wxStaticBitmap(m_pRightInStatus[i], wxID_ANY, CreateBitmapDeadZone(0), wxDefaultPosition, wxDefaultSize); - m_bmpDotRightIn[i] = new wxStaticBitmap(m_pRightInStatus[i], wxID_ANY, CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); + wxPanel *m_pRightInStatus = new wxPanel(m_Controller, wxID_ANY, wxDefaultPosition, wxDefaultSize); + m_bmpSquareRightIn[i] = new wxStaticBitmap(m_pRightInStatus, wxID_ANY, + CreateBitmap(), wxDefaultPosition, wxDefaultSize); + m_bmpDeadZoneRightIn[i] = new wxStaticBitmap(m_pRightInStatus, wxID_ANY, + CreateBitmapDeadZone(0), wxDefaultPosition, wxDefaultSize); + m_bmpDotRightIn[i] = new wxStaticBitmap(m_pRightInStatus, wxID_ANY, + CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); - m_pRightOutStatus[i] = new wxPanel(m_Controller[i], wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_bmpSquareRightOut[i] = new wxStaticBitmap(m_pRightOutStatus[i], wxID_ANY, CreateBitmap(), wxDefaultPosition, wxDefaultSize); - m_bmpDotRightOut[i] = new wxStaticBitmap(m_pRightOutStatus[i], wxID_ANY, CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); + wxPanel *m_pRightOutStatus = new wxPanel(m_Controller, wxID_ANY, wxDefaultPosition, wxDefaultSize); + m_bmpSquareRightOut[i] = new wxStaticBitmap(m_pRightOutStatus, wxID_ANY, + CreateBitmap(), wxDefaultPosition, wxDefaultSize); + m_bmpDotRightOut[i] = new wxStaticBitmap(m_pRightOutStatus, wxID_ANY, + CreateBitmapDot(), wxPoint(BoxW / 2, BoxH / 2), wxDefaultSize); // Sizers - m_sGridStickLeft[i] = new wxGridBagSizer(0, 0); - m_sGridStickLeft[i]->Add(m_pLeftInStatus[i], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 0); - m_sGridStickLeft[i]->Add(m_pLeftOutStatus[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxLEFT, 10); - m_sGridStickLeft[i]->Add(m_tStatusLeftIn[i], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 0); - m_sGridStickLeft[i]->Add(m_tStatusLeftOut[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxLEFT, 10); + wxGridBagSizer *m_sGridStickLeft = new wxGridBagSizer(0, 0); + m_sGridStickLeft->Add(m_pLeftInStatus, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 0); + m_sGridStickLeft->Add(m_pLeftOutStatus, wxGBPosition(0, 1), wxGBSpan(1, 1), wxLEFT, 10); + m_sGridStickLeft->Add(m_tStatusLeftIn[i], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 0); + m_sGridStickLeft->Add(m_tStatusLeftOut[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxLEFT, 10); - m_sGridStickRight[i] = new wxGridBagSizer(0, 0); - m_sGridStickRight[i]->Add(m_pRightInStatus[i], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 0); - m_sGridStickRight[i]->Add(m_pRightOutStatus[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxLEFT, 10); - m_sGridStickRight[i]->Add(m_tStatusRightIn[i], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 0); - m_sGridStickRight[i]->Add(m_tStatusRightOut[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxLEFT, 10); + wxGridBagSizer *m_sGridStickRight = new wxGridBagSizer(0, 0); + m_sGridStickRight->Add(m_pRightInStatus, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 0); + m_sGridStickRight->Add(m_pRightOutStatus, wxGBPosition(0, 1), wxGBSpan(1, 1), wxLEFT, 10); + m_sGridStickRight->Add(m_tStatusRightIn[i], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 0); + m_sGridStickRight->Add(m_tStatusRightOut[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxLEFT, 10); - m_gStickLeft[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Analog 1 Status (In) (Out)")); - m_gStickLeft[i]->Add(m_sGridStickLeft[i], 0, (wxLEFT | wxRIGHT), 5); + wxStaticBoxSizer *m_gStickLeft = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, + wxT("Analog 1 Status (In) (Out)")); + m_gStickLeft->Add(m_sGridStickLeft, 0, (wxLEFT | wxRIGHT), 5); - m_gStickRight[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Analog 2 Status (In) (Out)")); - m_gStickRight[i]->Add(m_sGridStickRight[i], 0, (wxLEFT | wxRIGHT), 5); + wxStaticBoxSizer *m_gStickRight = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, + wxT("Analog 2 Status (In) (Out)")); + m_gStickRight->Add(m_sGridStickRight, 0, (wxLEFT | wxRIGHT), 5); // Trigger Status Panels - m_TriggerL[i]= new wxStaticText(m_Controller[i], wxID_ANY, wxT("Left: ")); - m_TriggerR[i]= new wxStaticText(m_Controller[i], wxID_ANY, wxT("Right: ")); - m_TriggerStatusL[i]= new wxStaticText(m_Controller[i], wxID_ANY, wxT("000"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); - m_TriggerStatusR[i]= new wxStaticText(m_Controller[i], wxID_ANY, wxT("000"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); - m_tTriggerSource[i]= new wxStaticText(m_Controller[i], wxID_ANY, wxT("Trigger Source")); - m_TriggerType[i] = new wxChoice(m_Controller[i], IDC_TRIGGER_TYPE, wxDefaultPosition, wxSize(70, -1), StrTriggerType, 0, wxDefaultValidator, StrTriggerType[0]); + wxStaticText *m_TriggerL = new wxStaticText(m_Controller, wxID_ANY, wxT("Left:")); + wxStaticText *m_TriggerR = new wxStaticText(m_Controller, wxID_ANY, wxT("Right:")); + m_TriggerStatusL[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("000"), + wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); + m_TriggerStatusR[i] = new wxStaticText(m_Controller, wxID_ANY, wxT("000"), + wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); + wxStaticText *m_tTriggerSource = new wxStaticText(m_Controller, wxID_ANY, wxT("Trigger Source")); + m_TriggerType[i] = new wxChoice(m_Controller, IDC_TRIGGER_TYPE, + wxDefaultPosition, wxSize(70, -1), StrTriggerType, 0, + wxDefaultValidator, StrTriggerType[0]); // Sizers - m_sGridTrigger[i] = new wxGridBagSizer(0, 0); - m_sGridTrigger[i]->Add(m_TriggerL[i], wxGBPosition(0, 0), wxGBSpan(1, 1), (wxTOP), 4); - m_sGridTrigger[i]->Add(m_TriggerStatusL[i], wxGBPosition(0, 1), wxGBSpan(1, 1), (wxLEFT | wxTOP), 4); - m_sGridTrigger[i]->Add(m_TriggerR[i], wxGBPosition(1, 0), wxGBSpan(1, 1), (wxTOP), 4); - m_sGridTrigger[i]->Add(m_TriggerStatusR[i], wxGBPosition(1, 1), wxGBSpan(1, 1), (wxLEFT | wxTOP), 4); + wxGridBagSizer *m_sGridTrigger = new wxGridBagSizer(0, 0); + m_sGridTrigger->Add(m_TriggerL, wxGBPosition(0, 0), wxGBSpan(1, 1), (wxTOP), 4); + m_sGridTrigger->Add(m_TriggerStatusL[i], wxGBPosition(0, 1), wxGBSpan(1, 1), + (wxLEFT | wxTOP), 4); + m_sGridTrigger->Add(m_TriggerR, wxGBPosition(1, 0), wxGBSpan(1, 1), (wxTOP), 4); + m_sGridTrigger->Add(m_TriggerStatusR[i], wxGBPosition(1, 1), wxGBSpan(1, 1), + (wxLEFT | wxTOP), 4); - m_gTriggers[i] = new wxStaticBoxSizer (wxVERTICAL, m_Controller[i], wxT("Triggers Status")); - m_gTriggers[i]->AddStretchSpacer(); - m_gTriggers[i]->Add(m_sGridTrigger[i], 0, wxEXPAND | (wxLEFT | wxRIGHT), 5); - m_gTriggers[i]->Add(m_tTriggerSource[i], 0, wxEXPAND | (wxUP | wxLEFT | wxRIGHT), 5); - m_gTriggers[i]->Add(m_TriggerType[i], 0, wxEXPAND | (wxUP | wxLEFT | wxRIGHT), 5); - m_gTriggers[i]->AddStretchSpacer(); + wxStaticBoxSizer *m_gTriggers = + new wxStaticBoxSizer (wxVERTICAL, m_Controller, wxT("Triggers Status")); + m_gTriggers->AddStretchSpacer(); + m_gTriggers->Add(m_sGridTrigger, 0, wxEXPAND | (wxLEFT | wxRIGHT), 5); + m_gTriggers->Add(m_tTriggerSource, 0, wxEXPAND | (wxUP | wxLEFT | wxRIGHT), 5); + m_gTriggers->Add(m_TriggerType[i], 0, wxEXPAND | (wxUP | wxLEFT | wxRIGHT), 5); + m_gTriggers->AddStretchSpacer(); // Row 2 Sizers: Analog status - m_sHorizStatus[i] = new wxBoxSizer(wxHORIZONTAL); - m_sHorizStatus[i]->Add(m_gStickLeft[i], 0, wxEXPAND | (wxLEFT), 5); - m_sHorizStatus[i]->Add(m_gStickRight[i], 0, wxEXPAND | (wxLEFT), 5); - m_sHorizStatus[i]->Add(m_gTriggers[i], 0, wxEXPAND | (wxLEFT), 5); - + wxBoxSizer *m_sHorizStatus = new wxBoxSizer(wxHORIZONTAL); + m_sHorizStatus->Add(m_gStickLeft, 0, wxEXPAND | (wxLEFT), 5); + m_sHorizStatus->Add(m_gStickRight, 0, wxEXPAND | (wxLEFT), 5); + m_sHorizStatus->Add(m_gTriggers, 0, wxEXPAND | (wxLEFT), 5); // Analog Axes and Triggers Mapping - m_sAnalogLeft[i] = new wxBoxSizer(wxVERTICAL); - m_sAnalogMiddle[i] = new wxBoxSizer(wxVERTICAL); - m_sAnalogRight[i] = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sAnalogLeft = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sAnalogMiddle = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sAnalogRight = new wxBoxSizer(wxVERTICAL); for (int x = 0; x < 6; x++) { - m_statictext_Analog[x][i] = new wxStaticText(m_Controller[i], wxID_ANY, anText[x]); - m_Button_Analog[x][i] = new wxButton(m_Controller[i], x + IDB_ANALOG_LEFT_X, wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); + wxStaticText *m_statictext_Analog = + new wxStaticText(m_Controller, wxID_ANY, anText[x]); + m_Button_Analog[x][i] = new wxButton(m_Controller, x + IDB_ANALOG_LEFT_X, + wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); m_Button_Analog[x][i]->SetFont(m_SmallFont); - m_Sizer_Analog[x][i] = new wxBoxSizer(wxHORIZONTAL); - m_Sizer_Analog[x][i]->Add(m_statictext_Analog[x][i], 0, (wxUP), 4); - m_Sizer_Analog[x][i]->Add(m_Button_Analog[x][i], 0, (wxLEFT), 2); + wxBoxSizer *m_Sizer_Analog = new wxBoxSizer(wxHORIZONTAL); + m_Sizer_Analog->Add(m_statictext_Analog, 0, (wxUP), 4); + m_Sizer_Analog->Add(m_Button_Analog[x][i], 0, (wxLEFT), 2); if (x < 2) // Make some balance - m_sAnalogLeft[i]->Add(m_Sizer_Analog[x][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sAnalogLeft->Add(m_Sizer_Analog, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); else if (x < 4) - m_sAnalogMiddle[i]->Add(m_Sizer_Analog[x][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sAnalogMiddle->Add(m_Sizer_Analog, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); else - m_sAnalogRight[i]->Add(m_Sizer_Analog[x][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sAnalogRight->Add(m_Sizer_Analog, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); } - m_gAnalog[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Analog Axes and Triggers")); - m_gAnalog[i]->Add(m_sAnalogLeft[i], 0, wxALIGN_RIGHT | (wxALL), 0); - m_gAnalog[i]->Add(m_sAnalogMiddle[i], 0, wxALIGN_RIGHT | (wxLEFT), 5); - m_gAnalog[i]->Add(m_sAnalogRight[i], 0, wxALIGN_RIGHT | (wxLEFT), 5); - m_gAnalog[i]->AddSpacer(1); + wxStaticBoxSizer *m_gAnalog = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, + wxT("Analog Axes and Triggers")); + m_gAnalog->Add(m_sAnalogLeft, 0, wxALIGN_RIGHT | (wxALL), 0); + m_gAnalog->Add(m_sAnalogMiddle, 0, wxALIGN_RIGHT | (wxLEFT), 5); + m_gAnalog->Add(m_sAnalogRight, 0, wxALIGN_RIGHT | (wxLEFT), 5); + m_gAnalog->AddSpacer(1); // Row 3 Sizes: Analog Mapping - m_sHorizAnalogMapping[i] = new wxBoxSizer(wxHORIZONTAL); - m_sHorizAnalogMapping[i]->Add(m_gAnalog[i], 0, (wxLEFT), 5); - + wxBoxSizer *m_sHorizAnalogMapping = new wxBoxSizer(wxHORIZONTAL); + m_sHorizAnalogMapping->Add(m_gAnalog, 0, (wxLEFT), 5); // Wiimote Mapping - m_sWmVertLeft[i] = new wxBoxSizer(wxVERTICAL); - m_sWmVertRight[i] = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sWmVertLeft = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sWmVertRight = new wxBoxSizer(wxVERTICAL); for (int x = 0; x <= IDB_WM_SHAKE - IDB_WM_A; x++) { - m_statictext_Wiimote[x][i] = new wxStaticText(m_Controller[i], wxID_ANY, wmText[x]); - m_Button_Wiimote[x][i] = new wxButton(m_Controller[i], x + IDB_WM_A, wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); - m_Button_Wiimote[x][i]->SetFont(m_SmallFont); - m_Sizer_Wiimote[x][i] = new wxBoxSizer(wxHORIZONTAL); - m_Sizer_Wiimote[x][i]->Add(m_statictext_Wiimote[x][i], 0, (wxUP), 4); - m_Sizer_Wiimote[x][i]->Add(m_Button_Wiimote[x][i], 0, (wxLEFT), 2); - if (x < 7 || x == IDB_WM_SHAKE - IDB_WM_A) // Make some balance - m_sWmVertLeft[i]->Add(m_Sizer_Wiimote[x][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - else - m_sWmVertRight[i]->Add(m_Sizer_Wiimote[x][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + wxStaticText *m_statictext_Wiimote = new wxStaticText(m_Controller, wxID_ANY, wmText[x]); + m_Button_Wiimote[x][i] = new wxButton(m_Controller, x + IDB_WM_A, + wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); + m_Button_Wiimote[x][i]->SetFont(m_SmallFont); + wxBoxSizer *m_Sizer_Wiimote = new wxBoxSizer(wxHORIZONTAL); + m_Sizer_Wiimote->Add(m_statictext_Wiimote, 0, (wxUP), 4); + m_Sizer_Wiimote->Add(m_Button_Wiimote[x][i], 0, (wxLEFT), 2); + if (x < 7 || x == IDB_WM_SHAKE - IDB_WM_A) // Make some balance + m_sWmVertLeft->Add(m_Sizer_Wiimote, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + else + m_sWmVertRight->Add(m_Sizer_Wiimote, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); } - m_gWiimote[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Wiimote")); - m_gWiimote[i]->Add(m_sWmVertLeft[i], 0, (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gWiimote[i]->Add(m_sWmVertRight[i], 0, (wxLEFT | wxRIGHT | wxDOWN), 1); + wxStaticBoxSizer *m_gWiimote = + new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, wxT("Wiimote")); + m_gWiimote->Add(m_sWmVertLeft, 0, (wxLEFT | wxRIGHT | wxDOWN), 1); + m_gWiimote->Add(m_sWmVertRight, 0, (wxLEFT | wxRIGHT | wxDOWN), 1); + + // Row 4 Sizers: Wiimote and Extension Mapping + wxBoxSizer *m_sHorizControllerMapping = new wxBoxSizer(wxHORIZONTAL); + m_sHorizControllerMapping->Add(m_gWiimote, 0, (wxLEFT), 5); // Extension Mapping if(WiiMoteEmu::WiiMapping[i].iExtensionConnected == WiiMoteEmu::EXT_NUNCHUK) { // Stick controls - m_NunchuckTextStick[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Stick")); - m_NunchuckComboStick[i] = new wxChoice(m_Controller[i], IDC_NUNCHUCK_STICK, wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); + wxStaticText *m_NunchuckTextStick = + new wxStaticText(m_Controller, wxID_ANY, wxT("Stick")); + m_NunchuckComboStick[i] = new wxChoice(m_Controller, IDC_NUNCHUCK_STICK, + wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); + // Sizers + wxBoxSizer *m_sNunchuckStick = new wxBoxSizer(wxHORIZONTAL); + m_sNunchuckStick->Add(m_NunchuckTextStick, 0, (wxUP), 4); + m_sNunchuckStick->Add(m_NunchuckComboStick[i], 0, (wxLEFT), 2); + + wxBoxSizer *m_sNCVertLeft = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_sNCVertRight = new wxBoxSizer(wxVERTICAL); + m_sNCVertRight->Add(m_sNunchuckStick, 0, wxALIGN_RIGHT | (wxALL), 2); + m_sNCVertRight->AddSpacer(2); + for (int x = 0; x <= IDB_NC_SHAKE - IDB_NC_Z; x++) { - m_statictext_Nunchuk[x][i] = new wxStaticText(m_Controller[i], wxID_ANY, ncText[x]); - m_Button_NunChuck[x][i] = new wxButton(m_Controller[i], x + IDB_NC_Z, wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); + wxStaticText *m_statictext_Nunchuk = + new wxStaticText(m_Controller, wxID_ANY, ncText[x]); + m_Button_NunChuck[x][i] = new wxButton(m_Controller, x + IDB_NC_Z, + wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); m_Button_NunChuck[x][i]->SetFont(m_SmallFont); - m_Sizer_NunChuck[x][i] = new wxBoxSizer(wxHORIZONTAL); - m_Sizer_NunChuck[x][i]->Add(m_statictext_Nunchuk[x][i], 0, (wxUP), 4); - m_Sizer_NunChuck[x][i]->Add(m_Button_NunChuck[x][i], 0, (wxLEFT), 2); + wxBoxSizer *m_Sizer_NunChuck = new wxBoxSizer(wxHORIZONTAL); + m_Sizer_NunChuck->Add(m_statictext_Nunchuk, 0, (wxUP), 4); + m_Sizer_NunChuck->Add(m_Button_NunChuck[x][i], 0, (wxLEFT), 2); + + if (x < IDB_NC_ROLL_L - IDB_NC_Z) // Make some balance + m_sNCVertLeft->Add(m_Sizer_NunChuck, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + else + m_sNCVertRight->Add(m_Sizer_NunChuck, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); } - // Sizers - m_sNunchuckStick[i] = new wxBoxSizer(wxHORIZONTAL); - m_sNunchuckStick[i]->Add(m_NunchuckTextStick[i], 0, (wxUP), 4); - m_sNunchuckStick[i]->Add(m_NunchuckComboStick[i], 0, (wxLEFT), 2); - - m_sNCVertLeft[i] = new wxBoxSizer(wxVERTICAL); - m_sNCVertRight[i] = new wxBoxSizer(wxVERTICAL); - m_sNCVertRight[i]->Add(m_sNunchuckStick[i], 0, wxALIGN_RIGHT | (wxALL), 2); - m_sNCVertRight[i]->AddSpacer(2); - - for (int x = IDB_NC_Z ; x <= IDB_NC_SHAKE; x++) - if (x < IDB_NC_ROLL_L) // Make some balance - m_sNCVertLeft[i]->Add(m_Sizer_NunChuck[x - IDB_NC_Z][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - else - m_sNCVertRight[i]->Add(m_Sizer_NunChuck[x - IDB_NC_Z][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - - m_gNunchuck[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Nunchuck")); - m_gNunchuck[i]->Add(m_sNCVertLeft[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gNunchuck[i]->Add(m_sNCVertRight[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + wxStaticBoxSizer *m_gNunchuck = + new wxStaticBoxSizer (wxHORIZONTAL, m_Controller, wxT("Nunchuck")); + m_gNunchuck->Add(m_sNCVertLeft, 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_gNunchuck->Add(m_sNCVertRight, 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sHorizControllerMapping->Add(m_gNunchuck, 0, (wxLEFT), 5); } else if(WiiMoteEmu::WiiMapping[i].iExtensionConnected == WiiMoteEmu::EXT_CLASSIC_CONTROLLER) { // Stick controls - m_CcTextLeftStick[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Left stick")); - m_CcComboLeftStick[i] = new wxChoice(m_Controller[i], IDC_CC_LEFT_STICK, wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); - m_CcTextRightStick[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Right stick")); - m_CcComboRightStick[i] = new wxChoice(m_Controller[i], IDC_CC_RIGHT_STICK, wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); - m_CcTextTriggers[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Triggers")); - m_CcComboTriggers[i] = new wxChoice(m_Controller[i], IDC_CC_TRIGGERS, wxDefaultPosition, wxSize(70, -1), StrCcTriggers, 0, wxDefaultValidator, StrCcTriggers[0]); + wxStaticText *m_CcTextLeftStick = + new wxStaticText(m_Controller, wxID_ANY, wxT("Left stick")); + m_CcComboLeftStick[i] = new wxChoice(m_Controller, IDC_CC_LEFT_STICK, + wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); + wxStaticText *m_CcTextRightStick = + new wxStaticText(m_Controller, wxID_ANY, wxT("Right stick")); + m_CcComboRightStick[i] = new wxChoice(m_Controller, IDC_CC_RIGHT_STICK, + wxDefaultPosition, wxSize(70, -1), StrNunchuck, 0, wxDefaultValidator, StrNunchuck[0]); + wxStaticText *m_CcTextTriggers = + new wxStaticText(m_Controller, wxID_ANY, wxT("Triggers")); + m_CcComboTriggers[i] = new wxChoice(m_Controller, IDC_CC_TRIGGERS, + wxDefaultPosition, wxSize(70, -1), StrCcTriggers, 0, wxDefaultValidator, StrCcTriggers[0]); for (int x = 0; x <= IDB_CC_RD - IDB_CC_A; x++) { - m_statictext_Classic[x][i] = new wxStaticText(m_Controller[i], wxID_ANY, classicText[x]); - m_Button_Classic[x][i] = new wxButton(m_Controller[i], x + IDB_CC_A, wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); + wxStaticText *m_statictext_Classic = + new wxStaticText(m_Controller, wxID_ANY, classicText[x]); + m_Button_Classic[x][i] = new wxButton(m_Controller, x + IDB_CC_A, + wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); m_Button_Classic[x][i]->SetFont(m_SmallFont); m_Sizer_Classic[x][i] = new wxBoxSizer(wxHORIZONTAL); - m_Sizer_Classic[x][i]->Add(m_statictext_Classic[x][i], 0, wxALIGN_RIGHT | (wxUP), 4); + m_Sizer_Classic[x][i]->Add(m_statictext_Classic, 0, wxALIGN_RIGHT | (wxUP), 4); m_Sizer_Classic[x][i]->Add(m_Button_Classic[x][i], 0, wxALIGN_RIGHT | (wxLEFT), 2); } // Sizers - m_sCcLeftStick[i] = new wxBoxSizer(wxHORIZONTAL); - m_sCcLeftStick[i]->Add(m_CcTextLeftStick[i], 0, (wxUP), 4); - m_sCcLeftStick[i]->Add(m_CcComboLeftStick[i], 0, (wxLEFT), 2); + wxBoxSizer *m_sCcLeftStick = new wxBoxSizer(wxHORIZONTAL); + m_sCcLeftStick->Add(m_CcTextLeftStick, 0, (wxUP), 4); + m_sCcLeftStick->Add(m_CcComboLeftStick[i], 0, (wxLEFT), 2); - m_sCcRightStick[i] = new wxBoxSizer(wxHORIZONTAL); - m_sCcRightStick[i]->Add(m_CcTextRightStick[i], 0, (wxUP), 4); - m_sCcRightStick[i]->Add(m_CcComboRightStick[i], 0, (wxLEFT), 2); + wxBoxSizer *m_sCcRightStick = new wxBoxSizer(wxHORIZONTAL); + m_sCcRightStick->Add(m_CcTextRightStick, 0, (wxUP), 4); + m_sCcRightStick->Add(m_CcComboRightStick[i], 0, (wxLEFT), 2); - m_sCcTriggers[i] = new wxBoxSizer(wxHORIZONTAL); - m_sCcTriggers[i]->Add(m_CcTextTriggers[i], 0, (wxUP), 4); - m_sCcTriggers[i]->Add(m_CcComboTriggers[i], 0, (wxLEFT), 2); + wxBoxSizer *m_sCcTriggers = new wxBoxSizer(wxHORIZONTAL); + m_sCcTriggers->Add(m_CcTextTriggers, 0, (wxUP), 4); + m_sCcTriggers->Add(m_CcComboTriggers[i], 0, (wxLEFT), 2); - m_sCcVertLeft[i] = new wxBoxSizer(wxVERTICAL); - m_sCcVertLeft[i]->Add(m_sCcLeftStick[i], 0, wxALIGN_RIGHT | (wxALL), 2); - m_sCcVertLeft[i]->AddSpacer(2); + wxBoxSizer *m_sCcVertLeft = new wxBoxSizer(wxVERTICAL); + m_sCcVertLeft->Add(m_sCcLeftStick, 0, wxALIGN_RIGHT | (wxALL), 2); + m_sCcVertLeft->AddSpacer(2); for (int x = IDB_CC_LL; x <= IDB_CC_LD; x++) - m_sCcVertLeft[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertLeft->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); for (int x = IDB_CC_DL; x <= IDB_CC_DD; x++) - m_sCcVertLeft[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertLeft->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_sCcVertMiddle[i] = new wxBoxSizer(wxVERTICAL); - m_sCcVertMiddle[i]->Add(m_sCcRightStick[i], 0, wxALIGN_RIGHT | (wxALL), 2); - m_sCcVertMiddle[i]->AddSpacer(2); + wxBoxSizer *m_sCcVertMiddle = new wxBoxSizer(wxVERTICAL); + m_sCcVertMiddle->Add(m_sCcRightStick, 0, wxALIGN_RIGHT | (wxALL), 2); + m_sCcVertMiddle->AddSpacer(2); for (int x = IDB_CC_RL; x <= IDB_CC_RD; x++) - m_sCcVertMiddle[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertMiddle->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); for (int x = IDB_CC_A; x <= IDB_CC_Y; x++) - m_sCcVertMiddle[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertMiddle->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_sCcVertRight[i] = new wxBoxSizer(wxVERTICAL); - m_sCcVertRight[i]->Add(m_sCcTriggers[i], 0, wxALIGN_RIGHT | (wxALL), 2); - m_sCcVertRight[i]->AddSpacer(2); + wxBoxSizer *m_sCcVertRight = new wxBoxSizer(wxVERTICAL); + m_sCcVertRight->Add(m_sCcTriggers, 0, wxALIGN_RIGHT | (wxALL), 2); + m_sCcVertRight->AddSpacer(2); for (int x = IDB_CC_TL; x <= IDB_CC_ZR; x++) - m_sCcVertRight[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertRight->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); for (int x = IDB_CC_P; x <= IDB_CC_H; x++) - m_sCcVertRight[i]->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_sCcVertRight->Add(m_Sizer_Classic[x - IDB_CC_A][i], 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gClassicController[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Classic Controller")); - m_gClassicController[i]->Add(m_sCcVertLeft[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gClassicController[i]->Add(m_sCcVertMiddle[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gClassicController[i]->Add(m_sCcVertRight[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + wxStaticBoxSizer *m_gClassicController = new wxStaticBoxSizer (wxHORIZONTAL, + m_Controller, wxT("Classic Controller")); + m_gClassicController->Add(m_sCcVertLeft, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_gClassicController->Add(m_sCcVertMiddle, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_gClassicController->Add(m_sCcVertRight, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + + m_sHorizControllerMapping->Add(m_gClassicController, 0, (wxLEFT), 5); } else if(WiiMoteEmu::WiiMapping[i].iExtensionConnected == WiiMoteEmu::EXT_GUITARHERO) { // Stick controls - m_tGH3Analog[i] = new wxStaticText(m_Controller[i], wxID_ANY, wxT("Stick")); - m_GH3ComboAnalog[i] = new wxChoice(m_Controller[i], IDC_GH3_ANALOG, wxDefaultPosition, wxSize(70, -1), StrAnalogArray, 0, wxDefaultValidator, StrAnalogArray[0]); + wxStaticText *m_tGH3Analog = + new wxStaticText(m_Controller, wxID_ANY, wxT("Stick")); + m_GH3ComboAnalog[i] = new wxChoice(m_Controller, IDC_GH3_ANALOG, + wxDefaultPosition, wxSize(70, -1), StrAnalogArray, 0, + wxDefaultValidator, StrAnalogArray[0]); + + // Sizers + wxBoxSizer *m_sGH3Analog = new wxBoxSizer(wxHORIZONTAL); + m_sGH3Analog->Add(m_tGH3Analog, 0, (wxUP), 4); + m_sGH3Analog->Add(m_GH3ComboAnalog[i], 0, (wxLEFT), 2); + + wxBoxSizer *m_sGH3VertLeft = new wxBoxSizer(wxVERTICAL); + m_sGH3VertLeft->Add(m_sGH3Analog, 0, wxALIGN_RIGHT | (wxALL), 2); + m_sGH3VertLeft->AddSpacer(2); + wxBoxSizer *m_sGH3VertRight = new wxBoxSizer(wxVERTICAL); for (int x = 0; x <= IDB_GH3_STRUM_DOWN - IDB_GH3_GREEN; x++) { - m_statictext_GH3[x][i] = new wxStaticText(m_Controller[i], wxID_ANY, gh3Text[x]); - m_Button_GH3[x][i] = new wxButton(m_Controller[i], x, wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); + wxStaticText *m_statictext_GH3 = + new wxStaticText(m_Controller, wxID_ANY, gh3Text[x]); + m_Button_GH3[x][i] = new wxButton(m_Controller, x, + wxEmptyString, wxDefaultPosition, wxSize(BtW, BtH)); m_Button_GH3[x][i]->SetFont(m_SmallFont); - m_Sizer_GH3[x][i] = new wxBoxSizer(wxHORIZONTAL); - m_Sizer_GH3[x][i]->Add(m_statictext_GH3[x][i], 0, (wxUP), 4); - m_Sizer_GH3[x][i]->Add(m_Button_GH3[x][i], 0, (wxLEFT), 2); + wxBoxSizer *m_Sizer_GH3 = new wxBoxSizer(wxHORIZONTAL); + m_Sizer_GH3->Add(m_statictext_GH3, 0, (wxUP), 4); + m_Sizer_GH3->Add(m_Button_GH3[x][i], 0, (wxLEFT), 2); + + if (x < IDB_GH3_ANALOG_LEFT - IDB_GH3_GREEN) + m_sGH3VertRight->Add(m_Sizer_GH3, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + else + m_sGH3VertLeft->Add(m_Sizer_GH3, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); } - // Sizers - m_sGH3Analog[i] = new wxBoxSizer(wxHORIZONTAL); - m_sGH3Analog[i]->Add(m_tGH3Analog[i], 0, (wxUP), 4); - m_sGH3Analog[i]->Add(m_GH3ComboAnalog[i], 0, (wxLEFT), 2); + wxStaticBoxSizer *m_gGuitarHero3Controller = new wxStaticBoxSizer (wxHORIZONTAL, + m_Controller, wxT("Guitar Hero 3 Controller")); + m_gGuitarHero3Controller->Add(m_sGH3VertLeft, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); + m_gGuitarHero3Controller->Add(m_sGH3VertRight, 0, + wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_sGH3VertLeft[i] = new wxBoxSizer(wxVERTICAL); - m_sGH3VertLeft[i]->Add(m_sGH3Analog[i], 0, wxALIGN_RIGHT | (wxALL), 2); - m_sGH3VertLeft[i]->AddSpacer(2); - for (int x = IDB_GH3_ANALOG_LEFT; x <= IDB_GH3_STRUM_DOWN; x++) - m_sGH3VertLeft[i]->Add(m_Sizer_GH3[x - IDB_GH3_GREEN][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - - m_sGH3VertRight[i] = new wxBoxSizer(wxVERTICAL); - for (int x = IDB_GH3_GREEN; x <= IDB_GH3_WHAMMY; x++) - m_sGH3VertRight[i]->Add(m_Sizer_GH3[x - IDB_GH3_GREEN][i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - - m_gGuitarHero3Controller[i] = new wxStaticBoxSizer (wxHORIZONTAL, m_Controller[i], wxT("Guitar Hero 3 Controller")); - m_gGuitarHero3Controller[i]->Add(m_sGH3VertLeft[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - m_gGuitarHero3Controller[i]->Add(m_sGH3VertRight[i], 0, wxALIGN_RIGHT | (wxLEFT | wxRIGHT | wxDOWN), 1); - } - - // Row 4 Sizers: Wiimote and Extension Mapping - m_sHorizControllerMapping[i] = new wxBoxSizer(wxHORIZONTAL); - m_sHorizControllerMapping[i]->Add(m_gWiimote[i], 0, (wxLEFT), 5); - switch(WiiMoteEmu::WiiMapping[i].iExtensionConnected) - { - case WiiMoteEmu::EXT_NUNCHUK: - m_sHorizControllerMapping[i]->Add(m_gNunchuck[i], 0, (wxLEFT), 5); - break; - case WiiMoteEmu::EXT_CLASSIC_CONTROLLER: - m_sHorizControllerMapping[i]->Add(m_gClassicController[i], 0, (wxLEFT), 5); - break; - case WiiMoteEmu::EXT_GUITARHERO: - m_sHorizControllerMapping[i]->Add(m_gGuitarHero3Controller[i], 0, (wxLEFT), 5); - break; - default: - break; + m_sHorizControllerMapping->Add(m_gGuitarHero3Controller, 0, (wxLEFT), 5); } // Set up sizers and layout // The sizer m_sMain will be expanded inside m_Controller - m_sMain[i] = new wxBoxSizer(wxVERTICAL); - m_sMain[i]->Add(m_sHorizController[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); - m_sMain[i]->Add(m_sHorizStatus[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); - m_sMain[i]->Add(m_sHorizAnalogMapping[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); - m_sMain[i]->Add(m_sHorizControllerMapping[i], 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + wxBoxSizer *m_sMain = new wxBoxSizer(wxVERTICAL); + m_sMain->Add(m_sHorizController, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + m_sMain->Add(m_sHorizStatus, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + m_sMain->Add(m_sHorizAnalogMapping, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); + m_sMain->Add(m_sHorizControllerMapping, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); // Set the main sizer - m_Controller[i]->SetSizer(m_sMain[i]); + m_Controller->SetSizer(m_sMain); } -// m_Apply = new wxButton(this, wxID_APPLY, wxT("Apply")); - m_Close = new wxButton(this, wxID_CLOSE, wxT("Close")); +// wxButton *m_Apply = new wxButton(this, wxID_APPLY, wxT("Apply")); + wxButton *m_Close = new wxButton(this, wxID_CLOSE, wxT("Close")); wxBoxSizer* sButtons = new wxBoxSizer(wxHORIZONTAL); sButtons->AddStretchSpacer(); // sButtons->Add(m_Apply, 0, (wxALL), 0); - sButtons->Add(m_Close, 0, (wxLEFT), 5); + sButtons->Add(m_Close, 0, (wxLEFT), 5); - m_MainSizer = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *m_MainSizer = new wxBoxSizer(wxVERTICAL); m_MainSizer->Add(m_Notebook, 1, wxEXPAND | wxALL, 5); m_MainSizer->Add(sButtons, 0, wxEXPAND | (wxLEFT | wxRIGHT | wxDOWN), 5); @@ -1057,9 +1169,11 @@ void WiimotePadConfigDialog::UpdateGUI() m_TriggerType[m_Page]->SetSelection(WiiMoteEmu::WiiMapping[m_Page].TriggerType); m_TiltTypeWM[m_Page]->SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.InputWM); m_TiltTypeNC[m_Page]->SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.InputNC); - m_TiltComboRangeRoll[m_Page]->SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.RollDegree / 5 - 1); // 5 to 180, step 5 + m_TiltComboRangeRoll[m_Page]-> + SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.RollDegree / 5 - 1); // 5 to 180, step 5 m_TiltComboRangeRoll[m_Page]->Enable(!WiiMoteEmu::WiiMapping[m_Page].Tilt.RollSwing); - m_TiltComboRangePitch[m_Page]->SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.PitchDegree / 5 - 1); // 5 to 180, step 5 + m_TiltComboRangePitch[m_Page]-> + SetSelection(WiiMoteEmu::WiiMapping[m_Page].Tilt.PitchDegree / 5 - 1); // 5 to 180, step 5 m_TiltComboRangePitch[m_Page]->Enable(!WiiMoteEmu::WiiMapping[m_Page].Tilt.PitchSwing); m_TiltRollSwing[m_Page]->SetValue(WiiMoteEmu::WiiMapping[m_Page].Tilt.RollSwing); m_TiltPitchSwing[m_Page]->SetValue(WiiMoteEmu::WiiMapping[m_Page].Tilt.PitchSwing); @@ -1198,4 +1312,3 @@ void WiimotePadConfigDialog::UpdateGUI() DoChangeDeadZone(); } - diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h index 895923c753..a8f05c8a3c 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigPadDlg.h @@ -151,12 +151,6 @@ class WiimotePadConfigDialog : public wxDialog wxNotebook *m_Notebook; - wxPanel *m_Controller[MAX_WIIMOTES], - *m_pLeftInStatus[MAX_WIIMOTES], - *m_pLeftOutStatus[MAX_WIIMOTES], - *m_pRightInStatus[MAX_WIIMOTES], - *m_pRightOutStatus[MAX_WIIMOTES]; - wxStaticBitmap *m_bmpSquareLeftIn[MAX_WIIMOTES], *m_bmpSquareLeftOut[MAX_WIIMOTES], *m_bmpSquareRightIn[MAX_WIIMOTES], @@ -169,7 +163,7 @@ class WiimotePadConfigDialog : public wxDialog *m_TiltRollInvert[MAX_WIIMOTES], *m_TiltPitchInvert[MAX_WIIMOTES]; - wxButton *m_Close, *m_Apply, *ClickedButton, + wxButton *ClickedButton, *m_Button_Analog[IDB_TRIGGER_R - IDB_ANALOG_LEFT_X + 1][MAX_WIIMOTES], *m_Button_Wiimote[IDB_WM_SHAKE - IDB_WM_A + 1][MAX_WIIMOTES], *m_Button_NunChuck[IDB_NC_SHAKE - IDB_NC_Z + 1][MAX_WIIMOTES], @@ -192,79 +186,12 @@ class WiimotePadConfigDialog : public wxDialog *m_CcComboTriggers[MAX_WIIMOTES], *m_GH3ComboAnalog[MAX_WIIMOTES]; - wxGridBagSizer *m_sGridTilt[MAX_WIIMOTES], - *m_sGridStickLeft[MAX_WIIMOTES], - *m_sGridStickRight[MAX_WIIMOTES], - *m_sGridTrigger[MAX_WIIMOTES]; + wxBoxSizer *m_Sizer_Classic[IDB_CC_RD - IDB_CC_A + 1][MAX_WIIMOTES]; - wxBoxSizer *m_MainSizer, - *m_sMain[MAX_WIIMOTES], - *m_sDeadZoneHoriz[MAX_WIIMOTES], - *m_sDeadZone[MAX_WIIMOTES], - *m_sDiagonal[MAX_WIIMOTES], - *m_sCircle2Square[MAX_WIIMOTES], - *m_sC2SDeadZone[MAX_WIIMOTES], - *m_sJoyname[MAX_WIIMOTES], - *m_sRumble[MAX_WIIMOTES], - *m_sTiltType[MAX_WIIMOTES], - *m_sHorizController[MAX_WIIMOTES], - *m_sHorizStatus[MAX_WIIMOTES], - *m_Sizer_Analog[IDB_TRIGGER_R - IDB_ANALOG_LEFT_X + 1][MAX_WIIMOTES], - *m_sAnalogLeft[MAX_WIIMOTES], - *m_sAnalogMiddle[MAX_WIIMOTES], - *m_sAnalogRight[MAX_WIIMOTES], - *m_sHorizAnalogMapping[MAX_WIIMOTES], - *m_Sizer_Wiimote[IDB_WM_SHAKE - IDB_WM_A + 1][MAX_WIIMOTES], - *m_sWmVertLeft[MAX_WIIMOTES], - *m_sWmVertRight[MAX_WIIMOTES], - *m_Sizer_NunChuck[IDB_NC_SHAKE - IDB_NC_Z + 1][MAX_WIIMOTES], - *m_sNunchuckStick[MAX_WIIMOTES], - *m_sNCVertLeft[MAX_WIIMOTES], - *m_sNCVertRight[MAX_WIIMOTES], - *m_Sizer_Classic[IDB_CC_RD - IDB_CC_A + 1][MAX_WIIMOTES], - *m_sCcLeftStick[MAX_WIIMOTES], - *m_sCcRightStick[MAX_WIIMOTES], - *m_sCcTriggers[MAX_WIIMOTES], - *m_sCcVertLeft[MAX_WIIMOTES], - *m_sCcVertMiddle[MAX_WIIMOTES], - *m_sCcVertRight[MAX_WIIMOTES], - *m_Sizer_GH3[IDB_GH3_STRUM_DOWN - IDB_GH3_GREEN + 1][MAX_WIIMOTES], - *m_sGH3Analog[MAX_WIIMOTES], - *m_sGH3VertLeft[MAX_WIIMOTES], - *m_sGH3VertRight[MAX_WIIMOTES], - *m_sHorizControllerMapping[MAX_WIIMOTES]; - - wxStaticBoxSizer *m_gJoyPad[MAX_WIIMOTES], - *m_gTilt[MAX_WIIMOTES], - *m_gStickLeft[MAX_WIIMOTES], - *m_gStickRight[MAX_WIIMOTES], - *m_gTriggers[MAX_WIIMOTES], - *m_gAnalog[MAX_WIIMOTES], - *m_gWiimote[MAX_WIIMOTES], - *m_gNunchuck[MAX_WIIMOTES], - *m_gClassicController[MAX_WIIMOTES], - *m_gGuitarHero3Controller[MAX_WIIMOTES]; - - wxStaticText *m_ComboDeadZoneLabel[MAX_WIIMOTES], - *m_DiagonalLabel[MAX_WIIMOTES], - *m_RumbleStrengthLabel[MAX_WIIMOTES], - *m_tTiltTypeWM[MAX_WIIMOTES], *m_tTiltTypeNC[MAX_WIIMOTES], - *m_TiltTextRoll[MAX_WIIMOTES], *m_TiltTextPitch[MAX_WIIMOTES], + wxStaticText *m_tStatusLeftIn[MAX_WIIMOTES], *m_tStatusLeftOut[MAX_WIIMOTES], *m_tStatusRightIn[MAX_WIIMOTES], *m_tStatusRightOut[MAX_WIIMOTES], - *m_TriggerL[MAX_WIIMOTES], *m_TriggerR[MAX_WIIMOTES], - *m_TriggerStatusL[MAX_WIIMOTES], *m_TriggerStatusR[MAX_WIIMOTES], - *m_tTriggerSource[MAX_WIIMOTES], - *m_statictext_Analog[IDB_TRIGGER_R - IDB_ANALOG_LEFT_X + 1][MAX_WIIMOTES], - *m_statictext_Wiimote[IDB_WM_SHAKE - IDB_WM_A + 1][MAX_WIIMOTES], - *m_statictext_Nunchuk[IDB_NC_SHAKE - IDB_NC_Z + 1][MAX_WIIMOTES], - *m_statictext_Classic[IDB_CC_RD - IDB_CC_A + 1][MAX_WIIMOTES], - *m_statictext_GH3[IDB_GH3_STRUM_DOWN - IDB_GH3_GREEN + 1][MAX_WIIMOTES], - *m_NunchuckTextStick[5], - *m_CcTextLeftStick[MAX_WIIMOTES], - *m_CcTextRightStick[MAX_WIIMOTES], - *m_CcTextTriggers[MAX_WIIMOTES], - *m_tGH3Analog[MAX_WIIMOTES]; + *m_TriggerStatusL[MAX_WIIMOTES], *m_TriggerStatusR[MAX_WIIMOTES]; wxBitmap CreateBitmap(); wxBitmap CreateBitmapDot();