mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
DolphinWX: Move common wxUpdateUIEvent functions to WxEventUtils
This commit is contained in:
@ -8,8 +8,8 @@
|
||||
#include <utility>
|
||||
|
||||
#include "Core/Core.h"
|
||||
#include "Core/HW/CPU.h"
|
||||
#include "DolphinWX/Globals.h"
|
||||
#include "DolphinWX/WxEventUtils.h"
|
||||
#include "DolphinWX/WxUtils.h"
|
||||
|
||||
wxDEFINE_EVENT(DOLPHIN_EVT_RELOAD_TOOLBAR_BITMAPS, wxCommandEvent);
|
||||
@ -38,42 +38,20 @@ void MainToolBar::BindEvents()
|
||||
|
||||
void MainToolBar::BindMainButtonEvents()
|
||||
{
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCoreNotRunning, this, wxID_OPEN);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCoreNotRunning, this, wxID_REFRESH);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCoreRunningOrPaused, this, IDM_STOP);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCoreRunningOrPaused, this, IDM_TOGGLE_FULLSCREEN);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCoreRunningOrPaused, this, IDM_SCREENSHOT);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreNotRunning, wxID_OPEN);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreNotRunning, wxID_REFRESH);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreRunningOrPaused, IDM_STOP);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreRunningOrPaused, IDM_TOGGLE_FULLSCREEN);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreRunningOrPaused, IDM_SCREENSHOT);
|
||||
}
|
||||
|
||||
void MainToolBar::BindDebuggerButtonEvents()
|
||||
{
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCPUCanStep, this, IDM_STEP);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCPUCanStep, this, IDM_STEPOVER);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCPUCanStep, this, IDM_STEPOUT);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCPUCanStep, this, IDM_SKIP);
|
||||
Bind(wxEVT_UPDATE_UI, &MainToolBar::OnUpdateIfCorePaused, this, IDM_SETPC);
|
||||
}
|
||||
|
||||
void MainToolBar::OnUpdateIfCoreNotRunning(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Enable(!Core::IsRunning());
|
||||
}
|
||||
|
||||
void MainToolBar::OnUpdateIfCorePaused(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Enable(Core::GetState() == Core::CORE_PAUSE);
|
||||
}
|
||||
|
||||
void MainToolBar::OnUpdateIfCoreRunningOrPaused(wxUpdateUIEvent& event)
|
||||
{
|
||||
const auto state = Core::GetState();
|
||||
|
||||
event.Enable(state == Core::CORE_RUN || state == Core::CORE_PAUSE);
|
||||
}
|
||||
|
||||
void MainToolBar::OnUpdateIfCPUCanStep(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Enable(Core::IsRunning() && CPU::IsStepping());
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCPUCanStep, IDM_STEP);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCPUCanStep, IDM_STEPOVER);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCPUCanStep, IDM_STEPOUT);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCPUCanStep, IDM_SKIP);
|
||||
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCPUCanStep, IDM_SETPC);
|
||||
}
|
||||
|
||||
void MainToolBar::OnReloadBitmaps(wxCommandEvent& WXUNUSED(event))
|
||||
|
Reference in New Issue
Block a user