KeysDialog.cpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /*
  2. * This file is part of XDRE.
  3. *
  4. * XDRE is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * XDRE is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with XDRE. If not, see <http://www.gnu.org/licenses/>.
  16. *
  17. * Description: change main window keys w/o editing xdre/xdre.ini. Might be
  18. * useless for people who use a text editor, though :P
  19. * Too bad this is half-arsed, I just use a pointer to the parent
  20. * window.
  21. */
  22. #include "KeysDialog.hpp"
  23. #include <wx/intl.h>
  24. #include <wx/string.h>
  25. #include <wx/valnum.h>
  26. #include <wx/valtext.h>
  27. #include "MainWindow.hpp"
  28. const long KeysDialog::ID_SET = wxNewId();
  29. const long KeysDialog::ID_CLOSE = wxNewId();
  30. BEGIN_EVENT_TABLE(KeysDialog,wxDialog)
  31. END_EVENT_TABLE()
  32. MainWindow *window;
  33. KeysDialog::KeysDialog(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) {
  34. wxDialog::Create(parent, wxID_ANY, _("Keys"));
  35. SetClientSize(wxSize(472,320));
  36. SetMinSize(wxSize(472,320));
  37. SetMaxSize(wxSize(472,-1));
  38. window = (MainWindow*)parent;
  39. p = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(400,440), wxTAB_TRAVERSAL);
  40. set = new wxButton(p, ID_SET, _("Set"), wxPoint(32,288), wxDefaultSize, 0, wxDefaultValidator);
  41. close = new wxButton(p, ID_CLOSE, _("Close"), wxPoint(380,288), wxDefaultSize, 0, wxDefaultValidator);
  42. StaticText1 = new wxStaticText(p, wxID_ANY, _("Fire"), wxPoint(8,4));
  43. StaticText2 = new wxStaticText(p, wxID_ANY, _("Use"), wxPoint(8,32));
  44. StaticText3 = new wxStaticText(p, wxID_ANY, _("TurnStepLeft"), wxPoint(8,60));
  45. StaticText4 = new wxStaticText(p, wxID_ANY, _("TurnStepRight"), wxPoint(8,88));
  46. StaticText5 = new wxStaticText(p, wxID_ANY, _("TurnStep"), wxPoint(8,116));
  47. StaticText6 = new wxStaticText(p, wxID_ANY, _("PrevTic"), wxPoint(8,144));
  48. StaticText7 = new wxStaticText(p, wxID_ANY, _("NextTic"), wxPoint(8,172));
  49. StaticText8 = new wxStaticText(p, wxID_ANY, _("CopyTic"), wxPoint(8,200));
  50. StaticText9 = new wxStaticText(p, wxID_ANY, _("DeleteTic"), wxPoint(8,228));
  51. StaticText10 = new wxStaticText(p, wxID_ANY, _("NewTic"), wxPoint(8,256));
  52. StaticText11 = new wxStaticText(p, wxID_ANY, _("ToggleBlood"), wxPoint(152,4));
  53. StaticText12 = new wxStaticText(p, wxID_ANY, _("SetSavepoint"), wxPoint(152,32));
  54. StaticText13 = new wxStaticText(p, wxID_ANY, _("UnsetSavepoint"), wxPoint(152,60));
  55. StaticText14 = new wxStaticText(p, wxID_ANY, _("Load"), wxPoint(152,88));
  56. StaticText15 = new wxStaticText(p, wxID_ANY, _("Save"), wxPoint(152,116));
  57. StaticText16 = new wxStaticText(p, wxID_ANY, _("Exit"), wxPoint(152,144));
  58. StaticText17 = new wxStaticText(p, wxID_ANY, _("RunBwd"), wxPoint(152,172));
  59. StaticText18 = new wxStaticText(p, wxID_ANY, _("RunFwd"), wxPoint(152,200));
  60. StaticText19 = new wxStaticText(p, wxID_ANY, _("StrafeLeft"), wxPoint(152,228));
  61. StaticText20 = new wxStaticText(p, wxID_ANY, _("StrafeRight"), wxPoint(152,256));
  62. StaticText21 = new wxStaticText(p, wxID_ANY, _("TurnLeft"), wxPoint(308,4));
  63. StaticText22 = new wxStaticText(p, wxID_ANY, _("TurnRight"), wxPoint(308,32));
  64. StaticText23 = new wxStaticText(p, wxID_ANY, _("Weapon"), wxPoint(308,60));
  65. StaticText24 = new wxStaticText(p, wxID_ANY, _("TransposeLeft"), wxPoint(308,88));
  66. StaticText25 = new wxStaticText(p, wxID_ANY, _("TransposeRight"), wxPoint(308,116));
  67. StaticText26 = new wxStaticText(p, wxID_ANY, _("CopyTicX"), wxPoint(308,144));
  68. StaticText27 = new wxStaticText(p, wxID_ANY, _("DeleteTicX"), wxPoint(308,172));
  69. StaticText28 = new wxStaticText(p, wxID_ANY, _("BackwardDemo"), wxPoint(308,200));
  70. StaticText29 = new wxStaticText(p, wxID_ANY, _("ForwardDemo"), wxPoint(308,228));
  71. StaticText30 = new wxStaticText(p, wxID_ANY, _("ChangePlayer"), wxPoint(308,256));
  72. Fire = new wxTextCtrl(p, wxID_ANY, window->config.Read("Fire", "f"), wxPoint(100,0), wxSize(44,20), wxTE_RIGHT);
  73. Use = new wxTextCtrl(p, wxID_ANY, window->config.Read("Use", "u"), wxPoint(100,28), wxSize(44,20), wxTE_RIGHT);
  74. TurnStepLeft = new wxTextCtrl(p, wxID_ANY, window->config.Read("TurnStepLeft", "-"), wxPoint(100,56), wxSize(44,20), wxTE_RIGHT);
  75. TurnStepRight = new wxTextCtrl(p, wxID_ANY, window->config.Read("TurnStepRight", "+"), wxPoint(100,84), wxSize(44,20), wxTE_RIGHT);
  76. TurnStep = new wxTextCtrl(p, wxID_ANY, window->config.Read("TurnStep", "ts"), wxPoint(100,112),wxSize(44,20), wxTE_RIGHT);
  77. PrevTic = new wxTextCtrl(p, wxID_ANY, window->config.Read("PrevTic", "j"), wxPoint(100,140),wxSize(44,20), wxTE_RIGHT);
  78. NextTic = new wxTextCtrl(p, wxID_ANY, window->config.Read("NextTic", "i"), wxPoint(100,168),wxSize(44,20), wxTE_RIGHT);
  79. CopyTic = new wxTextCtrl(p, wxID_ANY, window->config.Read("CopyTic", "c"), wxPoint(100,196),wxSize(44,20), wxTE_RIGHT);
  80. DeleteTic = new wxTextCtrl(p, wxID_ANY, window->config.Read("DeleteTic", "x"), wxPoint(100,224),wxSize(44,20), wxTE_RIGHT);
  81. NewTic = new wxTextCtrl(p, wxID_ANY, window->config.Read("NewTic", "n"), wxPoint(100,252),wxSize(44,20), wxTE_RIGHT);
  82. ToggleBlood = new wxTextCtrl(p, wxID_ANY, window->config.Read("ToggleBlood", "z"), wxPoint(260,0), wxSize(44,20), wxTE_RIGHT);
  83. SetSavepoint = new wxTextCtrl(p, wxID_ANY, window->config.Read("SetSavepoint", "ssp"), wxPoint(260,28), wxSize(44,20), wxTE_RIGHT);
  84. UnsetSavepoint= new wxTextCtrl(p, wxID_ANY, window->config.Read("UnsetSavepoint", "pss"),wxPoint(260,56),wxSize(44,20), wxTE_RIGHT);
  85. Load = new wxTextCtrl(p, wxID_ANY, window->config.Read("Load", "load"), wxPoint(260,84), wxSize(44,20), wxTE_RIGHT);
  86. Save = new wxTextCtrl(p, wxID_ANY, window->config.Read("Save", "save"), wxPoint(260,112),wxSize(44,20), wxTE_RIGHT);
  87. Exit = new wxTextCtrl(p, wxID_ANY, window->config.Read("Exit", "exit"), wxPoint(260,140),wxSize(44,20), wxTE_RIGHT);
  88. RunBwd = new wxTextCtrl(p, wxID_ANY, window->config.Read("RunBwd", "wq"), wxPoint(260,168),wxSize(44,20), wxTE_RIGHT);
  89. RunFwd = new wxTextCtrl(p, wxID_ANY, window->config.Read("RunFwd", "we"), wxPoint(260,196),wxSize(44,20), wxTE_RIGHT);
  90. StrafeLeft = new wxTextCtrl(p, wxID_ANY, window->config.Read("StrafeLeft", "sa"), wxPoint(260,224),wxSize(44,20), wxTE_RIGHT);
  91. StrafeRight = new wxTextCtrl(p, wxID_ANY, window->config.Read("StrafeRight", "sd"), wxPoint(260,252),wxSize(44,20), wxTE_RIGHT);
  92. TurnLeft = new wxTextCtrl(p, wxID_ANY, window->config.Read("TurnLeft", "re"), wxPoint(416,0), wxSize(44,20), wxTE_RIGHT);
  93. TurnRight = new wxTextCtrl(p, wxID_ANY, window->config.Read("TurnRight", "rt"), wxPoint(416,28), wxSize(44,20), wxTE_RIGHT);
  94. Weapon = new wxTextCtrl(p, wxID_ANY, window->config.Read("Weapon", "g"), wxPoint(416,56), wxSize(44,20), wxTE_RIGHT);
  95. TransposeLeft = new wxTextCtrl(p, wxID_ANY, window->config.Read("TransposeLeft", "tr"), wxPoint(416,84), wxSize(44,20), wxTE_RIGHT);
  96. TransposeRight= new wxTextCtrl(p, wxID_ANY, window->config.Read("TransposeRight", "ty"),wxPoint(416,112),wxSize(44,20), wxTE_RIGHT);
  97. CopyTicX = new wxTextCtrl(p, wxID_ANY, window->config.Read("CopyTicX", "tc"), wxPoint(416,140),wxSize(44,20), wxTE_RIGHT);
  98. DeleteTicX = new wxTextCtrl(p, wxID_ANY, window->config.Read("DeleteTicX", "tx"), wxPoint(416,168),wxSize(44,20), wxTE_RIGHT);
  99. BackwardDemo = new wxTextCtrl(p, wxID_ANY, window->config.Read("BackwardDemo", ","), wxPoint(416,196),wxSize(44,20), wxTE_RIGHT);
  100. ForwardDemo = new wxTextCtrl(p, wxID_ANY, window->config.Read("ForwardDemo", "."), wxPoint(416,224),wxSize(44,20), wxTE_RIGHT);
  101. ChangePlayer = new wxTextCtrl(p, wxID_ANY, window->config.Read("ChangePlayer", "v"), wxPoint(416,252),wxSize(44,20), wxTE_RIGHT);
  102. Connect(wxID_ANY, wxEVT_CLOSE_WINDOW, wxCloseEventHandler(KeysDialog::OnClose));
  103. Connect(ID_CLOSE, wxEVT_BUTTON, wxCloseEventHandler(KeysDialog::OnClose));
  104. Connect(ID_SET, wxEVT_BUTTON, wxCommandEventHandler(KeysDialog::OnSet));
  105. }
  106. KeysDialog::~KeysDialog() {}
  107. void KeysDialog::OnClose(wxCloseEvent& event) {Destroy();}
  108. void KeysDialog::OnSet(wxCommandEvent& event) {
  109. window->config.Write("Fire", Fire->GetValue());
  110. window->config.Write("Use", Use->GetValue());
  111. window->config.Write("TurnStepLeft", TurnStepLeft->GetValue());
  112. window->config.Write("TurnStepRight", TurnStepRight->GetValue());
  113. window->config.Write("TurnStep", TurnStep->GetValue());
  114. window->config.Write("PrevTic", PrevTic->GetValue());
  115. window->config.Write("NextTic", NextTic->GetValue());
  116. window->config.Write("CopyTic", CopyTic->GetValue());
  117. window->config.Write("DeleteTic", DeleteTic->GetValue());
  118. window->config.Write("NewTic", NewTic->GetValue());
  119. window->config.Write("ToggleBlood", ToggleBlood->GetValue());
  120. window->config.Write("SetSavepoint", SetSavepoint->GetValue());
  121. window->config.Write("UnsetSavepoint", UnsetSavepoint->GetValue());
  122. window->config.Write("Load", Load->GetValue());
  123. window->config.Write("Save", Save->GetValue());
  124. window->config.Write("Exit", Exit->GetValue());
  125. window->config.Write("RunBwd", RunBwd->GetValue());
  126. window->config.Write("RunFwd", RunFwd->GetValue());
  127. window->config.Write("StrafeLeft", StrafeLeft->GetValue());
  128. window->config.Write("StrafeRight", StrafeRight->GetValue());
  129. window->config.Write("TurnLeft", TurnLeft->GetValue());
  130. window->config.Write("TurnRight", TurnRight->GetValue());
  131. window->config.Write("Weapon", Weapon->GetValue());
  132. window->config.Write("TransposeLeft", TransposeLeft->GetValue());
  133. window->config.Write("TransposeRight", TransposeRight->GetValue());
  134. window->config.Write("CopyTicX", CopyTicX->GetValue());
  135. window->config.Write("DeleteTicX", DeleteTicX->GetValue());
  136. window->config.Write("BackwardDemo", BackwardDemo->GetValue());
  137. window->config.Write("ForwardDemo", ForwardDemo->GetValue());
  138. window->config.Write("ChangePlayer", ChangePlayer->GetValue());
  139. window->SetKeys();
  140. }