DolphinWX: Reimplement cheat listbox updating, but without a global
Just use event handling.
This commit is contained in:
parent
90eaf9519c
commit
e7939a6b44
|
@ -313,6 +313,7 @@ void CheatSearchTab::CreateARCode(wxCommandEvent&)
|
||||||
const u32 address = m_search_results[sel].address | ((m_search_type_size & ~1) << 24);
|
const u32 address = m_search_results[sel].address | ((m_search_type_size & ~1) << 24);
|
||||||
|
|
||||||
CreateCodeDialog arcode_dlg(this, address);
|
CreateCodeDialog arcode_dlg(this, address);
|
||||||
|
arcode_dlg.SetExtraStyle(arcode_dlg.GetExtraStyle() & ~wxWS_EX_BLOCK_EVENTS);
|
||||||
arcode_dlg.ShowModal();
|
arcode_dlg.ShowModal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,6 +134,7 @@ void wxCheatsWindow::Init_ChildControls()
|
||||||
button_cancel->Bind(wxEVT_BUTTON, &wxCheatsWindow::OnEvent_ButtonClose_Press, this);
|
button_cancel->Bind(wxEVT_BUTTON, &wxCheatsWindow::OnEvent_ButtonClose_Press, this);
|
||||||
|
|
||||||
Bind(wxEVT_CLOSE_WINDOW, &wxCheatsWindow::OnEvent_Close, this);
|
Bind(wxEVT_CLOSE_WINDOW, &wxCheatsWindow::OnEvent_Close, this);
|
||||||
|
Bind(UPDATE_CHEAT_LIST_EVENT, &wxCheatsWindow::OnEvent_CheatsList_Update, this);
|
||||||
|
|
||||||
wxStdDialogButtonSizer* const sButtons = new wxStdDialogButtonSizer();
|
wxStdDialogButtonSizer* const sButtons = new wxStdDialogButtonSizer();
|
||||||
sButtons->AddButton(m_button_apply);
|
sButtons->AddButton(m_button_apply);
|
||||||
|
@ -243,6 +244,11 @@ void wxCheatsWindow::OnEvent_CheatsList_ItemToggled(wxCommandEvent& WXUNUSED (ev
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxCheatsWindow::OnEvent_CheatsList_Update(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
Load_ARCodes();
|
||||||
|
}
|
||||||
|
|
||||||
void wxCheatsWindow::OnEvent_ApplyChanges_Press(wxCommandEvent& ev)
|
void wxCheatsWindow::OnEvent_ApplyChanges_Press(wxCommandEvent& ev)
|
||||||
{
|
{
|
||||||
// Apply AR Code changes
|
// Apply AR Code changes
|
||||||
|
|
|
@ -93,6 +93,7 @@ private:
|
||||||
// Cheats List
|
// Cheats List
|
||||||
void OnEvent_CheatsList_ItemSelected(wxCommandEvent& event);
|
void OnEvent_CheatsList_ItemSelected(wxCommandEvent& event);
|
||||||
void OnEvent_CheatsList_ItemToggled(wxCommandEvent& event);
|
void OnEvent_CheatsList_ItemToggled(wxCommandEvent& event);
|
||||||
|
void OnEvent_CheatsList_Update(wxCommandEvent& event);
|
||||||
|
|
||||||
// Apply Changes Button
|
// Apply Changes Button
|
||||||
void OnEvent_ApplyChanges_Press(wxCommandEvent& event);
|
void OnEvent_ApplyChanges_Press(wxCommandEvent& event);
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
#include "DolphinWX/WxUtils.h"
|
#include "DolphinWX/WxUtils.h"
|
||||||
#include "DolphinWX/Cheats/CreateCodeDialog.h"
|
#include "DolphinWX/Cheats/CreateCodeDialog.h"
|
||||||
|
|
||||||
|
// Fired when an ActionReplay code is created.
|
||||||
|
wxDEFINE_EVENT(UPDATE_CHEAT_LIST_EVENT, wxCommandEvent);
|
||||||
|
|
||||||
CreateCodeDialog::CreateCodeDialog(wxWindow* const parent, const u32 address)
|
CreateCodeDialog::CreateCodeDialog(wxWindow* const parent, const u32 address)
|
||||||
: wxDialog(parent, -1, _("Create AR Code"))
|
: wxDialog(parent, -1, _("Create AR Code"))
|
||||||
, m_code_address(address)
|
, m_code_address(address)
|
||||||
|
@ -95,6 +98,9 @@ void CreateCodeDialog::PressOK(wxCommandEvent& ev)
|
||||||
//ActionReplay::UpdateActiveList();
|
//ActionReplay::UpdateActiveList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Propagate back to the parent frame to update the cheat list.
|
||||||
|
GetEventHandler()->AddPendingEvent(wxCommandEvent(UPDATE_CHEAT_LIST_EVENT));
|
||||||
|
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,16 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <wx/dialog.h>
|
#include <wx/dialog.h>
|
||||||
|
#include <wx/event.h>
|
||||||
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
|
|
||||||
class wxCheckBox;
|
class wxCheckBox;
|
||||||
class wxCommandEvent;
|
|
||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class wxWindow;
|
class wxWindow;
|
||||||
|
|
||||||
|
wxDECLARE_EVENT(UPDATE_CHEAT_LIST_EVENT, wxCommandEvent);
|
||||||
|
|
||||||
class CreateCodeDialog final : public wxDialog
|
class CreateCodeDialog final : public wxDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue