diff options
author | StapleButter <thetotalworm@gmail.com> | 2017-03-23 23:38:40 +0100 |
---|---|---|
committer | StapleButter <thetotalworm@gmail.com> | 2017-03-23 23:38:40 +0100 |
commit | 49314244e1f3923304bc731a691d2c3222f92627 (patch) | |
tree | be2ca1c3672333a69fb595bc27e13ed65ab72b89 /src/wx/InputConfig.cpp | |
parent | f237afeb66d45220ae0061c1dd8a35eb0335e8b0 (diff) |
start work on the input config dialog. nonfunctional and looks like shit.
add manifest crap under Windows so it gets the cool controls.
Diffstat (limited to 'src/wx/InputConfig.cpp')
-rw-r--r-- | src/wx/InputConfig.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/wx/InputConfig.cpp b/src/wx/InputConfig.cpp new file mode 100644 index 0000000..ea5f1c8 --- /dev/null +++ b/src/wx/InputConfig.cpp @@ -0,0 +1,81 @@ +/* + Copyright 2016-2017 StapleButter + + This file is part of melonDS. + + melonDS 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, either version 3 of the License, or (at your option) + any later version. + + melonDS 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 for more details. + + You should have received a copy of the GNU General Public License along + with melonDS. If not, see http://www.gnu.org/licenses/. +*/ + +#include "../types.h" +#include "InputConfig.h" +#include "../Config.h" + + +wxBEGIN_EVENT_TABLE(InputConfigDialog, wxDialog) +wxEND_EVENT_TABLE() + + +InputConfigDialog::InputConfigDialog(wxWindow* parent) + : wxDialog(parent, -1, "Input configuration - melonDS") +{ + int keyorder[12] = {0, 1, 10, 11, 5, 4, 6, 7, 9, 8, 3, 2}; + char keylabels[12][8] = {"A:", "B:", "Select:", "Start:", "Right:", "Left:", "Up:", "Down:", "R:", "L:", "X:", "Y:"}; + + wxBoxSizer* vboxmain = new wxBoxSizer(wxVERTICAL); + + { + wxPanel* p = new wxPanel(this); + wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); + + wxStaticBox* kbdside = new wxStaticBox(p, wxID_ANY, "Keyboard"); + { + wxGridSizer* grid = new wxGridSizer(2, 3, 0); + + for (int i = 0; i < 12; i++) + { + int j = keyorder[i]; + + wxStaticText* label = new wxStaticText(kbdside, wxID_ANY, keylabels[j]); + grid->Add(label); + + const char* keyname = SDL_GetKeyName(SDL_GetKeyFromScancode((SDL_Scancode)Config::KeyMapping[j])); + wxButton* btn = new wxButton(kbdside, 100+i, keyname); + grid->Add(btn); + } + + kbdside->SetSizer(grid); + } + sizer->Add(kbdside); + + p->SetSizer(sizer); + vboxmain->Add(p, 0, wxALL&(~wxBOTTOM), 15); + } + + { + wxPanel* p = new wxPanel(this); + wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); + + wxButton* derp = new wxButton(p, 1001, "derp"); + sizer->Add(derp); + + wxButton* boobs = new wxButton(p, 1002, "boobs"); + sizer->Add(3, 0); + sizer->Add(boobs); + + p->SetSizer(sizer); + vboxmain->Add(p, 0, wxALL|wxALIGN_RIGHT, 15); + } + + SetSizer(vboxmain); + Fit(); +} |