mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-25 23:29:55 -06:00
start work on the input config dialog. nonfunctional and looks like shit.
add manifest crap under Windows so it gets the cool controls.
This commit is contained in:
81
src/wx/InputConfig.cpp
Normal file
81
src/wx/InputConfig.cpp
Normal file
@ -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();
|
||||
}
|
Reference in New Issue
Block a user