summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2014-11-21 11:55:18 -0500
committerLioncash <mathew1800@gmail.com>2014-12-01 03:35:57 -0500
commitd17a054e75a1e8084e424fcca425ebf45889de16 (patch)
treef6681025c20fbb82da74a431251537b2e7262656 /Source/Core
parent6df67bf38f52151ee5efb64edb4bc60ecce601ef (diff)
WiimoteConfigDiag: Move GameCube controller settings over
Beginning of unifying the controller settings. No functionality yet.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/WiimoteConfigDiag.cpp71
-rw-r--r--Source/Core/DolphinWX/WiimoteConfigDiag.h2
2 files changed, 65 insertions, 8 deletions
diff --git a/Source/Core/DolphinWX/WiimoteConfigDiag.cpp b/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
index cb4baff7ff..9cfcb86e12 100644
--- a/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
+++ b/Source/Core/DolphinWX/WiimoteConfigDiag.cpp
@@ -67,7 +67,9 @@ WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputConfig& config
}
// "Wiimotes" layout
- wxStaticBoxSizer* const wiimote_group = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Wiimotes"));
+ // TODO: Give sizers better names
+ wxStaticBoxSizer* const wiimote_group = new wxStaticBoxSizer(wxVERTICAL,this, _("Wiimotes"));
+ wxBoxSizer* const wiimote_control_section = new wxBoxSizer(wxHORIZONTAL);
wxFlexGridSizer* const wiimote_sizer = new wxFlexGridSizer(3, 5, 5);
for (unsigned int i = 0; i < 4; ++i)
{
@@ -75,7 +77,7 @@ WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputConfig& config
wiimote_sizer->Add(wiimote_source_ch[i], 0, wxALIGN_CENTER_VERTICAL);
wiimote_sizer->Add(wiimote_configure_bt[i]);
}
- wiimote_group->Add(wiimote_sizer, 1, wxEXPAND, 5 );
+ wiimote_control_section->Add(wiimote_sizer, 1, wxEXPAND, 5 );
// "BalanceBoard" layout
@@ -206,12 +208,23 @@ WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputConfig& config
general_sizer->Add(choice_sizer);
general_sizer->Add(general_wiimote_sizer);
-
- // Dialog layout
- main_sizer->Add(wiimote_group, 0, wxEXPAND | wxALL, 5);
- main_sizer->Add(bb_group, 0, wxEXPAND | wxALL, 5);
- main_sizer->Add(real_wiimotes_group, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
- main_sizer->Add(general_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
+ // Combine all wiimote UI.
+ wiimote_group->Add(wiimote_control_section, 0, wxEXPAND | wxALL);
+ wiimote_group->AddSpacer(5);
+ wiimote_group->Add(bb_group, 0, wxEXPAND | wxALL);
+ wiimote_group->Add(real_wiimotes_group, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM);
+ wiimote_group->Add(general_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM);
+
+ // Combine all Wiimote UI controls into their own encompassing sizer.
+ wxBoxSizer* wiimote_section = new wxBoxSizer(wxVERTICAL);
+ wiimote_section->Add(CreateGamecubeSizer(), 0, wxEXPAND | wxALL, 5);
+ wiimote_section->Add(wiimote_group, 0, wxEXPAND | wxALL, 5);
+ /*wiimote_section->Add(bb_group, 0, wxEXPAND | wxALL, 5);
+ wiimote_section->Add(real_wiimotes_group, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
+ wiimote_section->Add(general_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);*/
+
+ // TODO: Rename wiimote_section to something else.
+ main_sizer->Add(wiimote_section, 0, wxEXPAND);
main_sizer->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
Bind(wxEVT_BUTTON, &WiimoteConfigDiag::Save, this, wxID_OK);
@@ -221,6 +234,48 @@ WiimoteConfigDiag::WiimoteConfigDiag(wxWindow* const parent, InputConfig& config
Center();
}
+wxStaticBoxSizer* WiimoteConfigDiag::CreateGamecubeSizer()
+{
+ wxStaticBoxSizer* const gamecube_static_sizer = new wxStaticBoxSizer(wxHORIZONTAL, this, _("GameCube Controllers"));
+ wxFlexGridSizer* const gamecube_flex_sizer = new wxFlexGridSizer(3, 5, 5);
+
+ static const std::array<wxString, 7> pad_type_strs = {{
+ _("None"),
+ _("Standard Controller"),
+ _("Steering Wheel"),
+ _("Dance Mat"),
+ _("TaruKonga (Bongos)"),
+ _("GBA"),
+ _("AM-Baseboard")
+ }};
+
+ wxStaticText* pad_labels[4];
+ wxChoice* pad_type_choices[4];
+ wxButton* config_buttons[4];
+ // TODO: Add bind call here
+
+ for (int i = 0; i < 4; i++)
+ {
+ config_buttons[i] = new wxButton(this, wxID_ANY, _("Configure"));
+ pad_labels[i] = new wxStaticText(this, wxID_ANY, wxString::Format(_("Pad %i"), i + 1));
+
+ // Only add AM-Baseboard to the first pad.
+ if (i == 0)
+ pad_type_choices[i] = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, pad_type_strs.size(), pad_type_strs.data());
+ else
+ pad_type_choices[i] = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, pad_type_strs.size() - 1, pad_type_strs.data());
+
+ gamecube_flex_sizer->Add(pad_labels[i], 0, wxALIGN_CENTER_VERTICAL);
+ gamecube_flex_sizer->AddGrowableCol(0, 1);
+ gamecube_flex_sizer->Add(pad_type_choices[i], 0, wxALIGN_CENTER_VERTICAL);
+ gamecube_flex_sizer->AddGrowableCol(0, 2);
+ gamecube_flex_sizer->Add(config_buttons[i], 0, wxALIGN_RIGHT);
+ }
+
+ gamecube_static_sizer->Add(gamecube_flex_sizer, 1, wxEXPAND, 5 );
+ return gamecube_static_sizer;
+}
+
void WiimoteConfigDiag::ConfigEmulatedWiimote(wxCommandEvent& ev)
{
diff --git a/Source/Core/DolphinWX/WiimoteConfigDiag.h b/Source/Core/DolphinWX/WiimoteConfigDiag.h
index ddad3c36fb..0edd0a2a87 100644
--- a/Source/Core/DolphinWX/WiimoteConfigDiag.h
+++ b/Source/Core/DolphinWX/WiimoteConfigDiag.h
@@ -11,6 +11,7 @@
class InputConfig;
class wxButton;
+class wxStaticBoxSizer;
class wxWindow;
class WiimoteConfigDiag : public wxDialog
@@ -59,6 +60,7 @@ public:
}
private:
+ wxStaticBoxSizer* CreateGamecubeSizer();
void Cancel(wxCommandEvent& event);
InputConfig& m_config;