Finish making dialogs close when escape is pressed. Fixes issue 4265. At least I think I got them all.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7365 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice 2011-03-17 04:26:01 +00:00
parent cab5fdb44b
commit e4141c331e
15 changed files with 110 additions and 227 deletions

View File

@ -21,39 +21,28 @@
extern std::vector<ActionReplay::ARCode> arCodes;
BEGIN_EVENT_TABLE(CARCodeAddEdit, wxDialog)
EVT_CLOSE(CARCodeAddEdit::OnClose)
EVT_BUTTON(wxID_OK, CARCodeAddEdit::SaveCheatData)
EVT_SPIN(ID_ENTRY_SELECT, CARCodeAddEdit::ChangeEntry)
END_EVENT_TABLE()
CARCodeAddEdit::CARCodeAddEdit(int _selection, wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style)
: wxDialog(parent, id, title, position, size, style)
{
selection = _selection;
CreateGUIControls(selection);
}
CARCodeAddEdit::~CARCodeAddEdit()
{
}
void CARCodeAddEdit::CreateGUIControls(int _selection)
, selection(_selection)
{
ActionReplay::ARCode tempEntries;
wxString currentName = _("Insert name here..");
if (_selection == -1)
if (selection == -1)
{
tempEntries.name = "";
}
else
{
currentName = wxString(arCodes.at(_selection).name.c_str(), *wxConvCurrent);
tempEntries = arCodes.at(_selection);
currentName = wxString(arCodes.at(selection).name.c_str(), *wxConvCurrent);
tempEntries = arCodes.at(selection);
}
wxBoxSizer* sEditCheat = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* sEditCheatButtons = new wxBoxSizer(wxHORIZONTAL);
wxStaticBoxSizer* sbEntry = new wxStaticBoxSizer(wxVERTICAL, this, _("Cheat Code"));
wxGridBagSizer* sgEntry = new wxGridBagSizer(0, 0);
@ -62,11 +51,9 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
EditCheatName->SetValue(currentName);
EntrySelection = new wxSpinButton(this, ID_ENTRY_SELECT, wxDefaultPosition, wxDefaultSize, wxVERTICAL);
EntrySelection->SetRange(1, ((int)arCodes.size()) > 0 ? (int)arCodes.size() : 1);
EntrySelection->SetValue((int)(arCodes.size() - _selection));
EntrySelection->SetValue((int)(arCodes.size() - selection));
EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxSize(300, 100), wxTE_MULTILINE);
UpdateTextCtrl(tempEntries);
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
sgEntry->Add(EditCheatNameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER|wxALL, 5);
sgEntry->Add(EditCheatName, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
@ -76,19 +63,11 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
sgEntry->AddGrowableRow(1);
sbEntry->Add(sgEntry, 1, wxEXPAND|wxALL);
sEditCheatButtons->AddStretchSpacer();
sEditCheatButtons->Add(bOK, 0, wxALL, 5);
sEditCheatButtons->Add(bCancel, 0, wxALL, 5);
sEditCheat->Add(sbEntry, 1, wxEXPAND|wxALL, 5);
sEditCheat->Add(sEditCheatButtons, 0, wxEXPAND, 5);
sEditCheat->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND | wxALL, 5);
SetSizerAndFit(sEditCheat);
}
void CARCodeAddEdit::OnClose(wxCloseEvent& WXUNUSED (event))
{
Destroy();
SetFocus();
}
void CARCodeAddEdit::ChangeEntry(wxSpinEvent& event)

View File

@ -31,7 +31,6 @@ class CARCodeAddEdit : public wxDialog
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
virtual ~CARCodeAddEdit();
private:
DECLARE_EVENT_TABLE();
@ -47,8 +46,6 @@ class CARCodeAddEdit : public wxDialog
ID_EDITCHEAT_CODE
};
void CreateGUIControls(int selection);
void OnClose(wxCloseEvent& event);
void SaveCheatData(wxCommandEvent& event);
void ChangeEntry(wxSpinEvent& event);
void UpdateTextCtrl(ActionReplay::ARCode arCode);

View File

@ -537,8 +537,8 @@ void CheatSearchTab::CreateARCode(wxCommandEvent&)
{
const u32 address = search_results[sel].address | ((search_type_size & ~1) << 24);
CreateCodeDialog* const arcode_dlg = new CreateCodeDialog(this, address);
arcode_dlg->ShowModal();
CreateCodeDialog arcode_dlg(this, address);
arcode_dlg.ShowModal();
}
}
@ -546,52 +546,45 @@ CreateCodeDialog::CreateCodeDialog(wxWindow* const parent, const u32 address)
: wxDialog(parent, -1, _("Create AR Code"), wxDefaultPosition)
, code_address(address)
{
wxPanel* const panel = new wxPanel(this);
wxStaticText* const label_name = new wxStaticText(this, -1, _("Name: "));
textctrl_name = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxSize(256,-1));
wxStaticText* const label_name = new wxStaticText(panel, -1, _("Name: "));
textctrl_name = new wxTextCtrl(panel, -1, wxEmptyString, wxDefaultPosition, wxSize(256,-1));
wxStaticText* const label_code = new wxStaticText(panel, -1, _("Code: "));
textctrl_code = new wxTextCtrl(panel, -1, wxString::Format(wxT("0x%08x"), address));
wxStaticText* const label_code = new wxStaticText(this, -1, _("Code: "));
textctrl_code = new wxTextCtrl(this, -1, wxString::Format(wxT("0x%08x"), address));
textctrl_code->Disable();
wxStaticText* const label_value = new wxStaticText(panel, -1, _("Value: "));
textctrl_value = new wxTextCtrl(panel, -1, wxT("0"));
wxStaticText* const label_value = new wxStaticText(this, -1, _("Value: "));
textctrl_value = new wxTextCtrl(this, -1, wxT("0"));
checkbox_use_hex = new wxCheckBox(panel, -1, _("Use Hex"));
checkbox_use_hex = new wxCheckBox(this, -1, _("Use Hex"));
checkbox_use_hex->SetValue(true);
wxBoxSizer* const sizer_value_label = new wxBoxSizer(wxHORIZONTAL);
sizer_value_label->Add(label_value, 0, wxRIGHT, 5);
sizer_value_label->Add(checkbox_use_hex, 0, 0, 0);
sizer_value_label->Add(checkbox_use_hex);
wxButton* const btn_ok = new wxButton(panel, -1, _("OK"));
wxButton* const btn_ok = new wxButton(this, wxID_OK, _("OK"));
_connect_macro_(btn_ok, CreateCodeDialog::PressOK, wxEVT_COMMAND_BUTTON_CLICKED, this);
wxButton* const btn_cancel = new wxButton(panel, -1, _("Cancel"));
wxButton* const btn_cancel = new wxButton(this, wxID_CANCEL, _("Cancel"));
_connect_macro_(btn_cancel, CreateCodeDialog::PressCancel, wxEVT_COMMAND_BUTTON_CLICKED, this);
// button sizer
wxBoxSizer* const sizer_buttons = new wxBoxSizer(wxHORIZONTAL);
wxSizer* const sizer_buttons = CreateButtonSizer(wxNO_DEFAULT);
sizer_buttons->Add(btn_ok, 0, wxRIGHT, 5);
sizer_buttons->Add(btn_cancel, 0, 0, 0);
sizer_buttons->Add(btn_cancel);
// main sizer
wxBoxSizer* const sizer_panel = new wxBoxSizer(wxVERTICAL);
sizer_panel->Add(label_name, 0, wxALL, 5);
sizer_panel->Add(textctrl_name, 0, wxALL, 5);
sizer_panel->Add(label_code, 0, wxALL, 5);
sizer_panel->Add(textctrl_code, 0, wxALL, 5);
sizer_panel->Add(sizer_value_label, 0, wxALL, 5);
sizer_panel->Add(textctrl_value, 0, wxALL, 5);
sizer_panel->Add(sizer_buttons, 0, wxALL | wxALIGN_RIGHT, 5);
panel->SetSizerAndFit(sizer_panel);
// panel sizer
wxBoxSizer* const sizer_main = new wxBoxSizer(wxHORIZONTAL);
sizer_main->Add(panel, 1, wxEXPAND, 5);
wxBoxSizer* const sizer_main = new wxBoxSizer(wxVERTICAL);
sizer_main->Add(label_name, 0, wxALL, 5);
sizer_main->Add(textctrl_name, 0, wxALL, 5);
sizer_main->Add(label_code, 0, wxALL, 5);
sizer_main->Add(textctrl_code, 0, wxALL, 5);
sizer_main->Add(sizer_value_label, 0, wxALL, 5);
sizer_main->Add(textctrl_value, 0, wxALL, 5);
sizer_main->Add(sizer_buttons, 0, wxALL | wxALIGN_RIGHT, 5);
SetSizerAndFit(sizer_main);
SetFocus();
}
void CreateCodeDialog::PressOK(wxCommandEvent&)

View File

@ -21,9 +21,7 @@
#include "BreakpointWindow.h"
BEGIN_EVENT_TABLE(BreakPointDlg, wxDialog)
EVT_CLOSE(BreakPointDlg::OnClose)
EVT_BUTTON(wxID_OK, BreakPointDlg::OnOK)
EVT_BUTTON(wxID_CANCEL, BreakPointDlg::OnCancel)
END_EVENT_TABLE()
BreakPointDlg::BreakPointDlg(CBreakPointWindow *_Parent)
@ -31,30 +29,16 @@ BreakPointDlg::BreakPointDlg(CBreakPointWindow *_Parent)
, Parent(_Parent)
{
m_pEditAddress = new wxTextCtrl(this, wxID_ANY, wxT("80000000"));
wxButton *m_pButtonOK = new wxButton(this, wxID_OK, wxT("OK"));
wxButton *m_pButtonCancel = new wxButton(this, wxID_CANCEL, wxT("Cancel"));
wxBoxSizer* sButtons = new wxBoxSizer(wxHORIZONTAL);
sButtons->AddStretchSpacer();
sButtons->Add(m_pButtonCancel, 0);
sButtons->Add(m_pButtonOK, 0);
wxBoxSizer *sMainSizer = new wxBoxSizer(wxVERTICAL);
sMainSizer->Add(m_pEditAddress, 0, wxEXPAND | wxALL, 5);
sMainSizer->Add(sButtons, 0, wxALL, 5);
sMainSizer->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxALL, 5);
SetSizer(sMainSizer);
Layout();
Fit();
SetSizerAndFit(sMainSizer);
SetFocus();
}
void BreakPointDlg::OnClose(wxCloseEvent& WXUNUSED(event))
{
EndModal(wxID_CLOSE);
Destroy();
}
void BreakPointDlg::OnOK(wxCommandEvent& WXUNUSED(event))
void BreakPointDlg::OnOK(wxCommandEvent& event)
{
wxString AddressString = m_pEditAddress->GetLineText(0);
u32 Address = 0;
@ -66,9 +50,6 @@ void BreakPointDlg::OnOK(wxCommandEvent& WXUNUSED(event))
}
else
PanicAlert("The address %s is invalid.", (const char *)AddressString.ToUTF8());
}
void BreakPointDlg::OnCancel(wxCommandEvent& WXUNUSED(event))
{
Close();
event.Skip();
}

View File

@ -29,13 +29,10 @@ public:
BreakPointDlg(CBreakPointWindow *_Parent);
private:
CBreakPointWindow *Parent;
wxTextCtrl *m_pEditAddress;
void OnClose(wxCloseEvent& WXUNUSED(event));
void OnCancel(wxCommandEvent& WXUNUSED(event));
void OnOK(wxCommandEvent& WXUNUSED(event));
void OnOK(wxCommandEvent& event);
DECLARE_EVENT_TABLE();
};

View File

@ -69,7 +69,7 @@ void GFXDebuggerPanel::OnClose(wxCloseEvent& event)
// save the window position when we hide the window
SaveSettings();
event.Skip(); // This means wxDialog's Destroy is used
event.Skip();
}
void GFXDebuggerPanel::SaveSettings() const

View File

@ -24,9 +24,7 @@
#define TEXT_BOX(text) new wxStaticText(this, wxID_ANY, wxT(text), wxDefaultPosition, wxDefaultSize)
BEGIN_EVENT_TABLE(MemoryCheckDlg, wxDialog)
EVT_CLOSE(MemoryCheckDlg::OnClose)
EVT_BUTTON(wxID_OK, MemoryCheckDlg::OnOK)
EVT_BUTTON(wxID_CANCEL, MemoryCheckDlg::OnCancel)
END_EVENT_TABLE()
MemoryCheckDlg::MemoryCheckDlg(CBreakPointWindow *parent)
@ -57,11 +55,6 @@ MemoryCheckDlg::MemoryCheckDlg(CBreakPointWindow *parent)
sFlags->Add(m_log_flag);
sFlags->Add(m_break_flag);
wxBoxSizer* sButtons = new wxBoxSizer(wxHORIZONTAL);
sButtons->AddStretchSpacer();
sButtons->Add(new wxButton(this, wxID_CANCEL, _("Cancel")));
sButtons->Add(new wxButton(this, wxID_OK, wxT("OK")));
wxBoxSizer *sControls = new wxBoxSizer(wxHORIZONTAL);
sControls->Add(sAddressRangeBox, 0, wxEXPAND);
sControls->Add(sActionBox, 0, wxEXPAND);
@ -69,20 +62,13 @@ MemoryCheckDlg::MemoryCheckDlg(CBreakPointWindow *parent)
wxBoxSizer *sMainSizer = new wxBoxSizer(wxVERTICAL);
sMainSizer->Add(sControls, 0, wxEXPAND | wxALL, 5);
sMainSizer->Add(sButtons, 0, wxEXPAND | wxALL, 5);
sMainSizer->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 5);
SetSizer(sMainSizer);
Layout();
Fit();
SetSizerAndFit(sMainSizer);
SetFocus();
}
void MemoryCheckDlg::OnClose(wxCloseEvent& WXUNUSED(event))
{
EndModal(wxID_CLOSE);
Destroy();
}
void MemoryCheckDlg::OnOK(wxCommandEvent& WXUNUSED(event))
void MemoryCheckDlg::OnOK(wxCommandEvent& event)
{
wxString StartAddressString = m_pEditStartAddress->GetLineText(0);
wxString EndAddressString = m_pEditEndAddress->GetLineText(0);
@ -115,9 +101,6 @@ void MemoryCheckDlg::OnOK(wxCommandEvent& WXUNUSED(event))
m_parent->NotifyUpdate();
Close();
}
}
void MemoryCheckDlg::OnCancel(wxCommandEvent& WXUNUSED(event))
{
Close();
event.Skip();
}

View File

@ -36,9 +36,7 @@ class MemoryCheckDlg : public wxDialog
wxTextCtrl* m_pEditEndAddress;
wxTextCtrl* m_pEditStartAddress;
void OnClose(wxCloseEvent& WXUNUSED(event));
void OnOK(wxCommandEvent& WXUNUSED(event));
void OnCancel(wxCommandEvent& WXUNUSED(event));
void OnOK(wxCommandEvent& event);
DECLARE_EVENT_TABLE();
};

View File

@ -72,8 +72,6 @@ wxBitmap wxBitmapFromMemoryRGBA(const unsigned char* data, int width, int height
}
BEGIN_EVENT_TABLE(CMemcardManager, wxDialog)
EVT_CLOSE(CMemcardManager::OnClose)
EVT_BUTTON(ID_COPYFROM_A,CMemcardManager::CopyDeleteClick)
EVT_BUTTON(ID_COPYFROM_B,CMemcardManager::CopyDeleteClick)
EVT_BUTTON(ID_DELETE_A,CMemcardManager::CopyDeleteClick)
@ -187,6 +185,8 @@ void CMemcardManager::CreateGUIControls()
m_ConvertToGci = new wxButton(this, ID_CONVERTTOGCI, _("Convert to GCI"));
wxStaticBoxSizer *sMemcard[2];
for (int slot = SLOT_A; slot <= SLOT_B; slot++)
{
m_CopyFrom[slot] = new wxButton(this, ID_COPYFROM_A + slot,
@ -204,11 +204,11 @@ void CMemcardManager::CreateGUIControls()
t_Status[slot] = new wxStaticText(this, 0, wxEmptyString, wxDefaultPosition,wxDefaultSize, 0, wxEmptyString);
sPages[slot] = new wxBoxSizer(wxHORIZONTAL);
sPages[slot]->Add(m_PrevPage[slot], 0, wxEXPAND|wxALL, 1);
sPages[slot]->Add(t_Status[slot],0, wxEXPAND|wxALL, 5);
sPages[slot]->Add(0, 0, 1, wxEXPAND|wxALL, 0);
sPages[slot]->Add(m_NextPage[slot], 0, wxEXPAND|wxALL, 1);
wxBoxSizer * const sPages = new wxBoxSizer(wxHORIZONTAL);
sPages->Add(m_PrevPage[slot], 0, wxEXPAND|wxALL, 1);
sPages->Add(t_Status[slot],0, wxEXPAND|wxALL, 5);
sPages->Add(0, 0, 1, wxEXPAND|wxALL, 0);
sPages->Add(m_NextPage[slot], 0, wxEXPAND|wxALL, 1);
m_MemcardPath[slot] = new wxFilePickerCtrl(this, ID_MEMCARDPATH_A + slot,
wxString::From8BitData(File::GetUserPath(D_GCUSER_IDX).c_str()), _("Choose a memory card:"),
@ -222,10 +222,10 @@ void CMemcardManager::CreateGUIControls()
sMemcard[slot] = new wxStaticBoxSizer(wxVERTICAL, this, _("Memory Card") + wxString::Format(wxT(" %c"), 'A' + slot));
sMemcard[slot]->Add(m_MemcardPath[slot], 0, wxEXPAND|wxALL, 5);
sMemcard[slot]->Add(m_MemcardList[slot], 1, wxEXPAND|wxALL, 5);
sMemcard[slot]->Add(sPages[slot], 0, wxEXPAND|wxALL, 1);
sMemcard[slot]->Add(sPages, 0, wxEXPAND|wxALL, 1);
}
sButtons = new wxBoxSizer(wxVERTICAL);
wxBoxSizer * const sButtons = new wxBoxSizer(wxVERTICAL);
sButtons->AddStretchSpacer(2);
sButtons->Add(m_CopyFrom[SLOT_B], 0, wxEXPAND, 5);
sButtons->Add(m_CopyFrom[SLOT_A], 0, wxEXPAND, 5);
@ -240,17 +240,18 @@ void CMemcardManager::CreateGUIControls()
sButtons->AddStretchSpacer(1);
sButtons->Add(m_Delete[SLOT_A], 0, wxEXPAND, 5);
sButtons->Add(m_Delete[SLOT_B], 0, wxEXPAND, 5);
sButtons->AddStretchSpacer(1);
sButtons->AddStretchSpacer();
sButtons->Add(new wxButton(this, wxID_OK, _("Close")), 0, wxEXPAND, 5);
sButtons->AddStretchSpacer();
sMain = new wxBoxSizer(wxHORIZONTAL);
wxBoxSizer * const sMain = new wxBoxSizer(wxHORIZONTAL);
sMain->Add(sMemcard[SLOT_A], 1, wxEXPAND|wxALL, 5);
sMain->Add(sButtons, 0, wxEXPAND, 0);
sMain->Add(sMemcard[SLOT_B], 1, wxEXPAND|wxALL, 5);
this->SetSizer(sMain);
sMain->SetSizeHints(this);
Fit();
SetSizerAndFit(sMain);
Center();
SetFocus();
for (int i = SLOT_A; i <= SLOT_B; i++)
{
@ -268,11 +269,6 @@ void CMemcardManager::CreateGUIControls()
}
}
void CMemcardManager::OnClose(wxCloseEvent& WXUNUSED (event))
{
EndModal(wxID_OK);
}
void CMemcardManager::OnPathChange(wxFileDirPickerEvent& event)
{
ChangePath(event.GetId() - ID_MEMCARDPATH_A);

View File

@ -58,9 +58,6 @@ class CMemcardManager : public wxDialog
IniFile MemcardManagerIni;
IniFile::Section* iniMemcardSection;
wxBoxSizer *sMain,
*sButtons,
*sPages[2];
wxButton *m_CopyFrom[2],
*m_SaveImport[2],
*m_SaveExport[2],
@ -69,7 +66,6 @@ class CMemcardManager : public wxDialog
*m_PrevPage[2],
*m_ConvertToGci;
wxFilePickerCtrl *m_MemcardPath[2];
wxStaticBoxSizer *sMemcard[2];
wxStaticText *t_Status[2];
enum
@ -124,7 +120,6 @@ class CMemcardManager : public wxDialog
GCMemcard *memoryCard[2];
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void CopyDeleteClick(wxCommandEvent& event);
bool ReloadMemcard(const char *fileName, int card);
void OnMenuChange(wxCommandEvent& event);

View File

@ -538,9 +538,8 @@ void NetPlayDiag::OnConfigPads(wxCommandEvent&)
if (false == ((NetPlayServer*)netplay_ptr)->GetPadMapping(pid, mapping))
return;
PadMapDiag* const pmd = new PadMapDiag(this, mapping);
pmd->ShowModal();
pmd->Destroy();
PadMapDiag pmd(this, mapping);
pmd.ShowModal();
if (false == ((NetPlayServer*)netplay_ptr)->SetPadMapping(pid, mapping))
PanicAlertT("Could not set pads. The player left or the game is currently running!\n"
@ -551,9 +550,7 @@ ChangeGameDiag::ChangeGameDiag(wxWindow* const parent, const CGameListCtrl* cons
: wxDialog(parent, wxID_ANY, _("Change Game"), wxDefaultPosition, wxDefaultSize)
, m_game_name(game_name)
{
wxPanel* const panel = new wxPanel(this);
m_game_lbox = new wxListBox(panel, wxID_ANY);
m_game_lbox = new wxListBox(this, wxID_ANY);
_connect_macro_(m_game_lbox, ChangeGameDiag::OnPick, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, this);
// fill list with games
@ -562,44 +559,39 @@ ChangeGameDiag::ChangeGameDiag(wxWindow* const parent, const CGameListCtrl* cons
while (std::getline(ss,game))
m_game_lbox->Append(wxString(game.c_str(), *wxConvCurrent));
wxButton* const ok_btn = new wxButton(panel, wxID_ANY, _("Change"));
wxButton* const ok_btn = new wxButton(this, wxID_OK, _("Change"));
_connect_macro_(ok_btn, ChangeGameDiag::OnPick, wxEVT_COMMAND_BUTTON_CLICKED, this);
wxBoxSizer* const szr = new wxBoxSizer(wxVERTICAL);
szr->Add(m_game_lbox, 1, wxLEFT | wxRIGHT | wxTOP | wxEXPAND, 5);
szr->Add(ok_btn, 0, wxALL | wxALIGN_RIGHT, 5);
panel->SetSizerAndFit(szr);
wxBoxSizer* const dlg_szr = new wxBoxSizer(wxVERTICAL);
dlg_szr->Add(panel, 1, wxEXPAND);
SetSizerAndFit(dlg_szr);
SetSizerAndFit(szr);
SetFocus();
}
void ChangeGameDiag::OnPick(wxCommandEvent&)
void ChangeGameDiag::OnPick(wxCommandEvent& event)
{
// return the selected game name
m_game_name = m_game_lbox->GetStringSelection();
Destroy();
EndModal(wxID_OK);
}
PadMapDiag::PadMapDiag(wxWindow* const parent, int map[])
: wxDialog(parent, wxID_ANY, _("Configure Pads"), wxDefaultPosition, wxDefaultSize)
, m_mapping(map)
{
wxPanel* const panel = new wxPanel(this);
wxBoxSizer* const h_szr = new wxBoxSizer(wxHORIZONTAL);
h_szr->AddSpacer(20);
// labels
wxBoxSizer* const label_szr = new wxBoxSizer(wxVERTICAL);
label_szr->Add(new wxStaticText(panel,wxID_ANY, _("Local")), 0, wxALIGN_TOP);
label_szr->Add(new wxStaticText(this, wxID_ANY, _("Local")), 0, wxALIGN_TOP);
label_szr->AddStretchSpacer(1);
label_szr->Add(new wxStaticText(panel,wxID_ANY, _("In-Game")), 0, wxALIGN_BOTTOM);
label_szr->Add(new wxStaticText(this, wxID_ANY, _("In-Game")), 0, wxALIGN_BOTTOM);
h_szr->Add(label_szr, 1, wxTOP | wxBOTTOM | wxEXPAND, 20);
h_szr->Add(label_szr, 1, wxTOP | wxEXPAND, 20);
// set up choices
wxString pad_names[5];
@ -610,25 +602,27 @@ PadMapDiag::PadMapDiag(wxWindow* const parent, int map[])
for (unsigned int i=0; i<4; ++i)
{
wxChoice* const pad_cbox = m_map_cbox[i]
= new wxChoice(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 5, pad_names);
= new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 5, pad_names);
pad_cbox->Select(m_mapping[i] + 1);
_connect_macro_(pad_cbox, PadMapDiag::OnAdjust, wxEVT_COMMAND_CHOICE_SELECTED, this);
wxBoxSizer* const v_szr = new wxBoxSizer(wxVERTICAL);
v_szr->Add(new wxStaticText(panel,wxID_ANY, pad_names[i + 1]), 1, wxALIGN_CENTER_HORIZONTAL);
v_szr->Add(new wxStaticText(this,wxID_ANY, pad_names[i + 1]), 1, wxALIGN_CENTER_HORIZONTAL);
v_szr->Add(pad_cbox, 1);
h_szr->Add(v_szr, 1, wxTOP | wxBOTTOM | wxEXPAND, 20);
h_szr->Add(v_szr, 1, wxTOP | wxEXPAND, 20);
}
h_szr->AddSpacer(20);
panel->SetSizerAndFit(h_szr);
wxBoxSizer* const dlg_szr = new wxBoxSizer(wxVERTICAL);
dlg_szr->Add(panel, 1, wxEXPAND);
SetSizerAndFit(dlg_szr);
wxBoxSizer* const main_szr = new wxBoxSizer(wxVERTICAL);
main_szr->Add(h_szr);
main_szr->AddSpacer(5);
main_szr->Add(CreateButtonSizer(wxOK), 0, wxEXPAND | wxLEFT | wxRIGHT, 20);
main_szr->AddSpacer(5);
SetSizerAndFit(main_szr);
SetFocus();
}
void PadMapDiag::OnAdjust(wxCommandEvent& event)

View File

@ -22,7 +22,6 @@ extern PHackData PHack_Data;
BEGIN_EVENT_TABLE(CPHackSettings, wxDialog)
EVT_CHOICE(ID_PHACK_CHOICE, CPHackSettings::SetRefresh)
EVT_CLOSE(CPHackSettings::OnClose)
EVT_BUTTON(wxID_OK, CPHackSettings::SavePHackData)
END_EVENT_TABLE()
@ -45,20 +44,20 @@ CPHackSettings::~CPHackSettings()
void CPHackSettings::CreateGUIControls()
{
PHackChoiceText = new wxStaticText(this, ID_PHACK_CHOICE_TEXT, _("Presets: "), wxDefaultPosition, wxDefaultSize);
PHackChoice = new wxChoice(this, ID_PHACK_CHOICE, wxDefaultPosition, wxDefaultSize, wxArrayString(0, wxString("", *wxConvCurrent)), 0, wxDefaultValidator);
wxStaticText *PHackChoiceText = new wxStaticText(this, wxID_ANY, _("Presets: "));
PHackChoice = new wxChoice(this, ID_PHACK_CHOICE, wxDefaultPosition, wxDefaultSize, wxArrayString(0, wxString("", *wxConvCurrent)));
PHackChoice->SetToolTip(_("Load preset values from hack patterns available."));
PHackZNearText = new wxStaticText(this, ID_PHACK_ZNEAR_TEXT, _("zNear Correction: "), wxDefaultPosition, wxDefaultSize);
PHackZNear = new wxTextCtrl(this, ID_PHACK_ZNEAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxStaticText *PHackZNearText = new wxStaticText(this, wxID_ANY, _("zNear Correction: "));
PHackZNear = new wxTextCtrl(this, ID_PHACK_ZNEAR);
PHackZNear->SetToolTip(_("Adds the specified value to zNear Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
PHackSZNear = new wxCheckBox(this, ID_PHACK_SZNEAR, _("(-)+zNear"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
PHackSZNear = new wxCheckBox(this, ID_PHACK_SZNEAR, _("(-)+zNear"));
PHackSZNear->SetToolTip(_("Changes sign to zNear Parameter (after correction)"));
PHackZFarText = new wxStaticText(this, ID_PHACK_ZFAR_TEXT, _("zFar Correction: "), wxDefaultPosition, wxDefaultSize);
PHackZFar = new wxTextCtrl(this, ID_PHACK_ZFAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxStaticText *PHackZFarText = new wxStaticText(this, wxID_ANY, _("zFar Correction: "));
PHackZFar = new wxTextCtrl(this, ID_PHACK_ZFAR);
PHackZFar->SetToolTip(_("Adds the specified value to zFar Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
PHackSZFar = new wxCheckBox(this, ID_PHACK_SZFAR, _("(-)+zFar"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
PHackSZFar = new wxCheckBox(this, ID_PHACK_SZFAR, _("(-)+zFar"));
PHackSZFar->SetToolTip(_("Changes sign to zFar Parameter (after correction)"));
PHackExP = new wxCheckBox(this, ID_PHACK_EXP, _("Extra Parameter"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
PHackExP = new wxCheckBox(this, ID_PHACK_EXP, _("Extra Parameter"));
PHackExP->SetToolTip(_("Extra Parameter useful in '\'Metroid: Other M'\' only."));
wxStaticBoxSizer *sbPHackSettings = new wxStaticBoxSizer(wxVERTICAL, this, _("Parameters"));
@ -72,20 +71,14 @@ void CPHackSettings::CreateGUIControls()
szrPHackSettings->Add(PHackSZFar, 0, wxEXPAND|wxLEFT, 5);
szrPHackSettings->Add(PHackExP, 0, wxEXPAND|wxTOP|wxBOTTOM, 5);
wxBoxSizer* sPHackButtons = new wxBoxSizer(wxHORIZONTAL);
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
sPHackButtons->Add(0, 0, 1, wxEXPAND, 5);
sPHackButtons->Add(bOK, 0, wxALL, 5);
sPHackButtons->Add(bCancel, 0, wxALL, 5);
wxBoxSizer* sPHack = new wxBoxSizer(wxVERTICAL);
sPHack->Add(PHackChoiceText, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5);
sPHack->Add(PHackChoice, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
sPHack->Add(sbPHackSettings, 0, wxEXPAND|wxALL, 5);
sPHack->Add(sPHackButtons, 0, wxEXPAND, 5);
sPHack->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
SetSizerAndFit(sPHack);
SetFocus();
}
void CPHackSettings::LoadPHackData()
@ -141,12 +134,7 @@ void CPHackSettings::SetRefresh(wxCommandEvent& event)
}
}
void CPHackSettings::OnClose(wxCloseEvent& WXUNUSED (event))
{
Destroy();
}
void CPHackSettings::SavePHackData(wxCommandEvent& WXUNUSED (event))
void CPHackSettings::SavePHackData(wxCommandEvent& event)
{
PHack_Data.PHackSZNear = PHackSZNear->GetValue();
PHack_Data.PHackSZFar = PHackSZFar->GetValue();
@ -156,4 +144,5 @@ void CPHackSettings::SavePHackData(wxCommandEvent& WXUNUSED (event))
PHack_Data.PHZFar = PHackZFar->GetValue().char_str();
AcceptAndClose();
event.Skip();
}

View File

@ -40,20 +40,14 @@ class CPHackSettings : public wxDialog
wxCheckBox *PHackSZNear;
wxCheckBox *PHackSZFar;
wxCheckBox *PHackExP;
wxStaticText *PHackChoiceText;
wxStaticText *PHackZNearText;
wxStaticText *PHackZFarText;
wxTextCtrl *PHackZNear;
wxTextCtrl *PHackZFar;
enum {
ID_PHACK_CHOICE_TEXT = 1000,
ID_PHACK_CHOICE,
ID_PHACK_CHOICE = 1000,
ID_PHACK_SZNEAR,
ID_PHACK_SZFAR,
ID_PHACK_ZNEAR_TEXT,
ID_PHACK_ZNEAR,
ID_PHACK_ZFAR_TEXT,
ID_PHACK_ZFAR,
ID_PHACK_EXP
};
@ -63,7 +57,6 @@ class CPHackSettings : public wxDialog
void SetRefresh(wxCommandEvent& event);
void CreateGUIControls();
void OnClose(wxCloseEvent& event);
void SavePHackData(wxCommandEvent& event);
void LoadPHackData();
};

View File

@ -20,7 +20,6 @@
extern std::vector<PatchEngine::Patch> onFrame;
BEGIN_EVENT_TABLE(CPatchAddEdit, wxDialog)
EVT_CLOSE(CPatchAddEdit::OnClose)
EVT_BUTTON(wxID_OK, CPatchAddEdit::SavePatchData)
EVT_BUTTON(ID_ENTRY_ADD, CPatchAddEdit::AddRemoveEntry)
EVT_BUTTON(ID_ENTRY_REMOVE, CPatchAddEdit::AddRemoveEntry)
@ -56,11 +55,11 @@ void CPatchAddEdit::CreateGUIControls(int _selection)
itCurEntry = tempEntries.begin();
wxBoxSizer* sEditPatch = new wxBoxSizer(wxVERTICAL);
wxStaticText* EditPatchNameText = new wxStaticText(this, ID_EDITPATCH_NAME_TEXT, _("Name:"), wxDefaultPosition, wxDefaultSize);
EditPatchName = new wxTextCtrl(this, ID_EDITPATCH_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
wxStaticText* EditPatchNameText = new wxStaticText(this, ID_EDITPATCH_NAME_TEXT, _("Name:"));
EditPatchName = new wxTextCtrl(this, ID_EDITPATCH_NAME);
EditPatchName->SetValue(currentName);
wxStaticText* EditPatchOffsetText = new wxStaticText(this, ID_EDITPATCH_OFFSET_TEXT, _("Offset:"), wxDefaultPosition, wxDefaultSize);
EditPatchOffset = new wxTextCtrl(this, ID_EDITPATCH_OFFSET, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
wxStaticText* EditPatchOffsetText = new wxStaticText(this, ID_EDITPATCH_OFFSET_TEXT, _("Offset:"));
EditPatchOffset = new wxTextCtrl(this, ID_EDITPATCH_OFFSET);
EditPatchOffset->SetValue(wxString::Format(wxT("%08X"), tempEntries.at(0).address));
EntrySelection = new wxSpinButton(this, ID_ENTRY_SELECT, wxDefaultPosition, wxDefaultSize, wxVERTICAL);
EntrySelection->SetRange(0, (int)tempEntries.size()-1);
@ -68,13 +67,13 @@ void CPatchAddEdit::CreateGUIControls(int _selection)
wxArrayString wxArrayStringFor_EditPatchType;
for (int i = 0; i < 3; ++i)
wxArrayStringFor_EditPatchType.Add(wxString::FromAscii(PatchEngine::PatchTypeStrings[i]));
EditPatchType = new wxRadioBox(this, ID_EDITPATCH_TYPE, _("Type"), wxDefaultPosition, wxDefaultSize, wxArrayStringFor_EditPatchType, 3, wxRA_SPECIFY_COLS, wxDefaultValidator);
EditPatchType = new wxRadioBox(this, ID_EDITPATCH_TYPE, _("Type"), wxDefaultPosition, wxDefaultSize, wxArrayStringFor_EditPatchType, 3, wxRA_SPECIFY_COLS);
EditPatchType->SetSelection((int)tempEntries.at(0).type);
wxStaticText* EditPatchValueText = new wxStaticText(this, ID_EDITPATCH_VALUE_TEXT, _("Value:"), wxDefaultPosition, wxDefaultSize);
EditPatchValue = new wxTextCtrl(this, ID_EDITPATCH_VALUE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
wxStaticText* EditPatchValueText = new wxStaticText(this, ID_EDITPATCH_VALUE_TEXT, _("Value:"));
EditPatchValue = new wxTextCtrl(this, ID_EDITPATCH_VALUE);
EditPatchValue->SetValue(wxString::Format(wxT("%08X"), tempEntries.at(0).value));
wxButton *EntryAdd = new wxButton(this, ID_ENTRY_ADD, _("Add"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
EntryRemove = new wxButton(this, ID_ENTRY_REMOVE, _("Remove"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton *EntryAdd = new wxButton(this, ID_ENTRY_ADD, _("Add"));
EntryRemove = new wxButton(this, ID_ENTRY_REMOVE, _("Remove"));
if ((int)tempEntries.size() <= 1)
EntryRemove->Disable();
@ -97,22 +96,11 @@ void CPatchAddEdit::CreateGUIControls(int _selection)
sEntryAddRemove->Add(EntryRemove, 0, wxALL, 5);
sbEntry->Add(sgEntry, 0, wxEXPAND);
sbEntry->Add(sEntryAddRemove, 0, wxEXPAND);
sEditPatch->Add(sbEntry, 0, wxEXPAND|wxALL, 5);
wxBoxSizer* sEditPatchButtons = new wxBoxSizer(wxHORIZONTAL);
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
sEditPatchButtons->Add(0, 0, 1, wxEXPAND, 5);
sEditPatchButtons->Add(bOK, 0, wxALL, 5);
sEditPatchButtons->Add(bCancel, 0, wxALL, 5);
sEditPatch->Add(sEditPatchButtons, 0, wxEXPAND, 5);
this->SetSizer(sEditPatch);
sEditPatch->Layout();
Fit();
}
void CPatchAddEdit::OnClose(wxCloseEvent& WXUNUSED (event))
{
Destroy();
sEditPatch->Add(sbEntry, 0, wxEXPAND|wxALL, 5);
sEditPatch->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
SetSizerAndFit(sEditPatch);
SetFocus();
}
void CPatchAddEdit::ChangeEntry(wxSpinEvent& event)
@ -124,7 +112,7 @@ void CPatchAddEdit::ChangeEntry(wxSpinEvent& event)
UpdateEntryCtrls(*itCurEntry);
}
void CPatchAddEdit::SavePatchData(wxCommandEvent& WXUNUSED (event))
void CPatchAddEdit::SavePatchData(wxCommandEvent& event)
{
SaveEntryData(itCurEntry);
@ -144,6 +132,7 @@ void CPatchAddEdit::SavePatchData(wxCommandEvent& WXUNUSED (event))
}
AcceptAndClose();
event.Skip();
}
void CPatchAddEdit::AddRemoveEntry(wxCommandEvent& event)

View File

@ -58,7 +58,6 @@ class CPatchAddEdit : public wxDialog
};
void CreateGUIControls(int selection);
void OnClose(wxCloseEvent& event);
void ChangeEntry(wxSpinEvent& event);
void SavePatchData(wxCommandEvent& event);
void AddRemoveEntry(wxCommandEvent& event);