2015-05-23 22:55:12 -06:00
|
|
|
// Copyright 2008 Dolphin Emulator Project
|
2015-05-17 17:08:10 -06:00
|
|
|
// Licensed under GPLv2+
|
2013-04-17 21:43:35 -06:00
|
|
|
// Refer to the license.txt file included.
|
2009-01-02 18:38:44 -07:00
|
|
|
|
2014-02-10 11:54:46 -07:00
|
|
|
#pragma once
|
2008-12-07 21:46:09 -07:00
|
|
|
|
2017-04-02 01:04:50 -06:00
|
|
|
#include <array>
|
2014-02-22 15:36:30 -07:00
|
|
|
#include <cstddef>
|
2017-05-27 07:43:40 -06:00
|
|
|
#include <memory>
|
2014-02-22 15:36:30 -07:00
|
|
|
#include <mutex>
|
2017-12-25 10:07:29 -07:00
|
|
|
#include <optional>
|
2014-02-17 03:18:15 -07:00
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
2014-02-22 15:36:30 -07:00
|
|
|
#include <wx/bitmap.h>
|
|
|
|
#include <wx/frame.h>
|
|
|
|
#include <wx/image.h>
|
|
|
|
#include <wx/panel.h>
|
2017-06-16 08:44:01 -06:00
|
|
|
#include <wx/string.h>
|
2015-02-28 18:25:50 -07:00
|
|
|
#include <wx/timer.h>
|
2009-05-13 16:23:54 -06:00
|
|
|
|
2014-02-22 15:36:30 -07:00
|
|
|
#include "Common/CommonTypes.h"
|
2014-04-13 17:15:23 -06:00
|
|
|
#include "Common/Event.h"
|
2017-05-21 13:52:44 -06:00
|
|
|
#include "Core/ConfigManager.h"
|
2014-02-17 03:18:15 -07:00
|
|
|
#include "DolphinWX/Globals.h"
|
|
|
|
|
2010-04-11 19:33:10 -06:00
|
|
|
#if defined(HAVE_X11) && HAVE_X11
|
2016-05-05 17:43:38 -06:00
|
|
|
#include "UICommon/X11Utils.h"
|
2010-04-11 19:33:10 -06:00
|
|
|
#endif
|
2009-05-13 16:23:54 -06:00
|
|
|
|
2017-05-27 07:43:40 -06:00
|
|
|
struct BootParameters;
|
|
|
|
|
2009-01-04 14:53:41 -07:00
|
|
|
// Class declarations
|
2017-06-19 03:20:14 -06:00
|
|
|
class GameListCtrl;
|
2014-02-22 15:36:30 -07:00
|
|
|
class CCodeWindow;
|
2016-11-05 18:53:40 -06:00
|
|
|
class CConfigMain;
|
2009-08-31 17:09:50 -06:00
|
|
|
class CLogWindow;
|
2011-03-26 20:55:08 -06:00
|
|
|
class FifoPlayerDlg;
|
2014-02-22 15:36:30 -07:00
|
|
|
class LogConfigWindow;
|
2015-04-10 23:24:45 -06:00
|
|
|
class NetPlaySetupFrame;
|
2014-02-22 15:36:30 -07:00
|
|
|
class TASInputDlg;
|
2011-02-26 19:27:43 -07:00
|
|
|
class wxCheatsWindow;
|
2009-06-18 02:22:02 -06:00
|
|
|
|
2014-02-22 15:36:30 -07:00
|
|
|
class wxAuiManager;
|
|
|
|
class wxAuiManagerEvent;
|
|
|
|
class wxAuiNotebook;
|
|
|
|
class wxAuiNotebookEvent;
|
|
|
|
class wxListEvent;
|
|
|
|
class wxMenuItem;
|
2017-06-25 09:35:24 -06:00
|
|
|
class wxProgressDialog;
|
2014-02-22 15:36:30 -07:00
|
|
|
|
2010-04-14 21:25:35 -06:00
|
|
|
class CRenderFrame : public wxFrame
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
public:
|
|
|
|
CRenderFrame(wxFrame* parent, wxWindowID id = wxID_ANY, const wxString& title = "Dolphin",
|
|
|
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
2016-10-03 01:29:50 -06:00
|
|
|
long style = wxDEFAULT_FRAME_STYLE);
|
2016-06-24 02:43:46 -06:00
|
|
|
|
|
|
|
bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) override;
|
2013-09-27 06:38:12 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
private:
|
|
|
|
void OnDropFiles(wxDropFilesEvent& event);
|
|
|
|
static bool IsValidSavestateDropped(const std::string& filepath);
|
|
|
|
#ifdef _WIN32
|
|
|
|
// Receive WndProc messages
|
|
|
|
WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
|
|
|
|
#endif
|
2010-04-14 21:25:35 -06:00
|
|
|
};
|
|
|
|
|
2016-10-21 19:41:17 -06:00
|
|
|
wxDECLARE_EVENT(DOLPHIN_EVT_RELOAD_THEME_BITMAPS, wxCommandEvent);
|
2016-11-08 18:52:45 -07:00
|
|
|
wxDECLARE_EVENT(DOLPHIN_EVT_UPDATE_LOAD_WII_MENU_ITEM, wxCommandEvent);
|
2017-02-06 12:48:09 -07:00
|
|
|
wxDECLARE_EVENT(DOLPHIN_EVT_BOOT_SOFTWARE, wxCommandEvent);
|
|
|
|
wxDECLARE_EVENT(DOLPHIN_EVT_STOP_SOFTWARE, wxCommandEvent);
|
2016-10-21 19:41:17 -06:00
|
|
|
|
2010-04-14 21:25:35 -06:00
|
|
|
class CFrame : public CRenderFrame
|
2008-12-07 21:46:09 -07:00
|
|
|
{
|
2011-03-15 17:09:12 -06:00
|
|
|
public:
|
2016-06-24 02:43:46 -06:00
|
|
|
CFrame(wxFrame* parent, wxWindowID id = wxID_ANY, const wxString& title = "Dolphin",
|
2016-08-14 13:54:01 -06:00
|
|
|
wxRect geometry = wxDefaultSize, bool use_debugger = false, bool batch_mode = false,
|
|
|
|
bool show_log_window = false,
|
2016-06-24 02:43:46 -06:00
|
|
|
long style = wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE);
|
|
|
|
|
|
|
|
virtual ~CFrame();
|
|
|
|
|
|
|
|
void* GetRenderHandle()
|
|
|
|
{
|
|
|
|
#if defined(HAVE_X11) && HAVE_X11
|
2017-04-30 18:11:01 -06:00
|
|
|
return reinterpret_cast<void*>(X11Utils::XWindowFromHandle(m_render_parent->GetHandle()));
|
2016-06-24 02:43:46 -06:00
|
|
|
#else
|
2017-04-30 18:11:01 -06:00
|
|
|
return reinterpret_cast<void*>(m_render_parent->GetHandle());
|
2016-06-24 02:43:46 -06:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
// These have to be public
|
2017-04-30 18:11:01 -06:00
|
|
|
CCodeWindow* m_code_window = nullptr;
|
|
|
|
NetPlaySetupFrame* m_netplay_setup_frame = nullptr;
|
2016-06-24 02:43:46 -06:00
|
|
|
|
|
|
|
void DoStop();
|
|
|
|
void UpdateGUI();
|
2017-06-20 17:36:59 -06:00
|
|
|
void GameListRefresh();
|
2017-06-25 21:13:42 -06:00
|
|
|
void GameListRescan(bool purge_cache = false);
|
2016-06-24 02:43:46 -06:00
|
|
|
void ToggleLogWindow(bool bShow);
|
|
|
|
void ToggleLogConfigWindow(bool bShow);
|
2017-06-22 01:53:02 -06:00
|
|
|
void StatusBarMessage(const char* format, ...);
|
2016-06-24 02:43:46 -06:00
|
|
|
void ClearStatusBar();
|
2017-12-25 10:07:29 -07:00
|
|
|
void BootGame(const std::string& filename, const std::optional<std::string>& savestate_path = {});
|
2017-10-01 16:09:07 -06:00
|
|
|
void StartGame(std::unique_ptr<BootParameters> boot);
|
2016-06-24 02:43:46 -06:00
|
|
|
bool RendererHasFocus();
|
|
|
|
bool RendererIsFullscreen();
|
2016-11-05 18:53:40 -06:00
|
|
|
void OpenGeneralConfiguration(wxWindowID tab_id = wxID_ANY);
|
2016-06-24 02:43:46 -06:00
|
|
|
|
|
|
|
wxMenuBar* GetMenuBar() const override;
|
2010-11-10 17:55:06 -07:00
|
|
|
|
2017-04-30 18:11:01 -06:00
|
|
|
Common::Event m_panic_event;
|
|
|
|
bool m_panic_result;
|
2008-12-08 22:37:15 -07:00
|
|
|
|
2011-03-15 17:09:12 -06:00
|
|
|
#if defined(HAVE_XRANDR) && HAVE_XRANDR
|
2017-04-30 18:11:01 -06:00
|
|
|
X11Utils::XRRConfiguration* m_xrr_config;
|
2011-03-15 17:09:12 -06:00
|
|
|
#endif
|
2009-08-25 01:05:53 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
// AUI
|
2017-04-30 18:11:01 -06:00
|
|
|
wxAuiManager* m_mgr = nullptr;
|
|
|
|
bool m_float_window[IDM_DEBUG_WINDOW_LIST_END - IDM_DEBUG_WINDOW_LIST_START] = {};
|
2016-06-24 02:43:46 -06:00
|
|
|
|
|
|
|
// Perspectives (Should find a way to make all of this private)
|
|
|
|
void DoAddPage(wxWindow* Win, int i, bool Float);
|
|
|
|
void DoRemovePage(wxWindow*, bool bHide = true);
|
|
|
|
struct SPerspectives
|
|
|
|
{
|
2017-04-30 18:11:01 -06:00
|
|
|
std::string name;
|
|
|
|
wxString perspective;
|
|
|
|
std::vector<int> width, height;
|
2016-06-24 02:43:46 -06:00
|
|
|
};
|
2017-04-30 18:11:01 -06:00
|
|
|
std::vector<SPerspectives> m_perspectives;
|
|
|
|
u32 m_active_perspective;
|
2011-03-15 17:09:12 -06:00
|
|
|
|
|
|
|
private:
|
2016-06-24 02:43:46 -06:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
ADD_PANE_TOP,
|
|
|
|
ADD_PANE_BOTTOM,
|
|
|
|
ADD_PANE_LEFT,
|
|
|
|
ADD_PANE_RIGHT,
|
|
|
|
ADD_PANE_CENTER
|
|
|
|
};
|
|
|
|
|
2017-06-24 18:10:23 -06:00
|
|
|
static constexpr int MOUSE_HIDE_DELAY = 3000;
|
2017-06-19 03:20:14 -06:00
|
|
|
GameListCtrl* m_game_list_ctrl = nullptr;
|
2017-04-30 18:11:01 -06:00
|
|
|
CConfigMain* m_main_config_dialog = nullptr;
|
|
|
|
wxPanel* m_panel = nullptr;
|
|
|
|
CRenderFrame* m_render_frame = nullptr;
|
|
|
|
wxWindow* m_render_parent = nullptr;
|
|
|
|
CLogWindow* m_log_window = nullptr;
|
|
|
|
LogConfigWindow* m_log_config_window = nullptr;
|
|
|
|
FifoPlayerDlg* m_fifo_player_dialog = nullptr;
|
|
|
|
std::array<TASInputDlg*, 8> m_tas_input_dialogs{};
|
|
|
|
wxCheatsWindow* m_cheats_window = nullptr;
|
2017-06-25 09:35:24 -06:00
|
|
|
wxProgressDialog* m_progress_dialog = nullptr;
|
2017-04-30 18:11:01 -06:00
|
|
|
bool m_use_debugger = false;
|
|
|
|
bool m_batch_mode = false;
|
|
|
|
bool m_editing_perspectives = false;
|
|
|
|
bool m_is_split_tab_notebook = false;
|
|
|
|
bool m_no_panel_docking = false;
|
|
|
|
bool m_is_game_loading = false;
|
|
|
|
bool m_is_closing = false;
|
|
|
|
bool m_renderer_has_focus = false;
|
|
|
|
bool m_confirm_stop = false;
|
|
|
|
bool m_tried_graceful_shutdown = false;
|
|
|
|
int m_save_slot = 1;
|
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
wxTimer m_poll_hotkey_timer;
|
2017-06-24 18:10:23 -06:00
|
|
|
wxTimer m_cursor_timer;
|
2016-07-08 08:35:03 -06:00
|
|
|
wxTimer m_handle_signal_timer;
|
2016-06-24 02:43:46 -06:00
|
|
|
|
2016-09-25 11:02:10 -06:00
|
|
|
wxMenuBar* m_menubar_shadow = nullptr;
|
2016-06-24 02:43:46 -06:00
|
|
|
|
2017-04-30 18:11:01 -06:00
|
|
|
wxString m_aui_fullscreen_perspective;
|
|
|
|
wxString m_aui_current_perspective;
|
|
|
|
|
|
|
|
#ifdef __WXGTK__
|
|
|
|
std::recursive_mutex m_keystate_lock;
|
|
|
|
#endif
|
|
|
|
|
2016-10-21 19:41:17 -06:00
|
|
|
void BindEvents();
|
|
|
|
void BindMenuBarEvents();
|
2016-11-03 16:02:53 -06:00
|
|
|
void BindDebuggerMenuBarEvents();
|
|
|
|
void BindDebuggerMenuBarUpdateEvents();
|
2016-10-14 12:52:18 -06:00
|
|
|
|
2016-10-21 19:41:17 -06:00
|
|
|
wxToolBar* OnCreateToolBar(long style, wxWindowID id, const wxString& name) override;
|
2016-10-14 12:52:18 -06:00
|
|
|
wxMenuBar* CreateMenuBar() const;
|
2016-06-24 02:43:46 -06:00
|
|
|
|
2017-04-01 23:45:11 -06:00
|
|
|
void InitializeTASDialogs();
|
2017-04-03 03:39:48 -06:00
|
|
|
void InitializeCoreCallbacks();
|
2017-04-01 23:45:11 -06:00
|
|
|
|
2017-05-14 14:49:25 -06:00
|
|
|
void SetDebuggerStartupParameters() const;
|
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
// Utility
|
|
|
|
wxWindow* GetNotebookPageFromId(wxWindowID Id);
|
|
|
|
wxAuiNotebook* GetNotebookFromId(u32 NBId);
|
|
|
|
int GetNotebookCount();
|
|
|
|
wxAuiNotebook* CreateEmptyNotebook();
|
|
|
|
void HandleFrameSkipHotkeys();
|
|
|
|
|
|
|
|
// Perspectives
|
|
|
|
void AddRemoveBlankPage();
|
2016-10-03 01:29:50 -06:00
|
|
|
void OnNotebookAllowDnD(wxAuiNotebookEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnNotebookPageChanged(wxAuiNotebookEvent& event);
|
2016-10-03 01:29:50 -06:00
|
|
|
void OnNotebookPageClose(wxAuiNotebookEvent& event);
|
|
|
|
void OnNotebookTabRightUp(wxAuiNotebookEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnFloatWindow(wxCommandEvent& event);
|
|
|
|
void ToggleFloatWindow(int Id);
|
|
|
|
int GetNotebookAffiliation(wxWindowID Id);
|
|
|
|
void ClosePages();
|
|
|
|
void CloseAllNotebooks();
|
|
|
|
void ShowResizePane();
|
|
|
|
void TogglePane();
|
|
|
|
void SetPaneSize();
|
|
|
|
void TogglePaneStyle(bool On, int EventId);
|
|
|
|
void ToggleNotebookStyle(bool On, long Style);
|
2016-10-14 12:52:18 -06:00
|
|
|
void PopulateSavedPerspectives();
|
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
// Float window
|
|
|
|
void DoUnfloatPage(int Id);
|
|
|
|
void OnFloatingPageClosed(wxCloseEvent& event);
|
|
|
|
void DoFloatNotebookPage(wxWindowID Id);
|
|
|
|
wxFrame* CreateParentFrame(wxWindowID Id = wxID_ANY, const wxString& title = "",
|
|
|
|
wxWindow* = nullptr);
|
2017-04-30 18:11:01 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
void AddPane(int dir);
|
|
|
|
void UpdateCurrentPerspective();
|
|
|
|
void SaveIniPerspectives();
|
|
|
|
void LoadIniPerspectives();
|
|
|
|
void OnPaneClose(wxAuiManagerEvent& evt);
|
|
|
|
void ReloadPanes();
|
|
|
|
void DoLoadPerspective();
|
|
|
|
void OnPerspectiveMenu(wxCommandEvent& event);
|
|
|
|
void OnSelectPerspective(wxCommandEvent& event);
|
2010-07-29 21:51:49 -06:00
|
|
|
|
2008-12-07 21:46:09 -07:00
|
|
|
#ifdef _WIN32
|
2016-06-24 02:43:46 -06:00
|
|
|
// Override window proc for tricks like screensaver disabling
|
|
|
|
WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
|
2008-12-07 21:46:09 -07:00
|
|
|
#endif
|
2017-02-06 15:26:30 -07:00
|
|
|
|
2018-01-01 14:03:50 -07:00
|
|
|
// Screensaver
|
|
|
|
void EnableScreenSaver(bool enable);
|
2017-02-06 15:26:30 -07:00
|
|
|
void DoOpen(bool Boot);
|
|
|
|
void DoPause();
|
|
|
|
void DoToggleToolbar(bool);
|
|
|
|
void DoRecordingSave();
|
|
|
|
void DoFullscreen(bool enable_fullscreen);
|
|
|
|
void DoExclusiveFullscreen(bool enable_fullscreen);
|
|
|
|
void ToggleDisplayMode(bool bFullscreen);
|
|
|
|
void OnStopped();
|
|
|
|
void OnRenderWindowSizeRequest(int width, int height);
|
2017-06-16 08:44:01 -06:00
|
|
|
void UpdateTitle(const wxString& str);
|
2017-02-06 15:26:30 -07:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
// Event functions
|
2017-02-06 15:26:30 -07:00
|
|
|
void PostEvent(wxCommandEvent& event);
|
|
|
|
void OnRenderParentClose(wxCloseEvent& event);
|
|
|
|
void OnRenderParentMove(wxMoveEvent& event);
|
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnQuit(wxCommandEvent& event);
|
|
|
|
void OnHelp(wxCommandEvent& event);
|
|
|
|
|
2016-10-21 19:41:17 -06:00
|
|
|
void OnReloadThemeBitmaps(wxCommandEvent& event);
|
2017-06-20 17:36:59 -06:00
|
|
|
void OnRefreshGameList(wxCommandEvent& event);
|
|
|
|
void OnRescanGameList(wxCommandEvent& event);
|
2016-10-21 19:41:17 -06:00
|
|
|
|
2016-11-03 21:43:35 -06:00
|
|
|
void OnUpdateInterpreterMenuItem(wxUpdateUIEvent& event);
|
2016-11-03 16:02:53 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnOpen(wxCommandEvent& event); // File menu
|
|
|
|
void OnRefresh(wxCommandEvent& event);
|
|
|
|
void OnBootDrive(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnPlay(wxCommandEvent& event); // Emulation
|
|
|
|
void OnStop(wxCommandEvent& event);
|
|
|
|
void OnReset(wxCommandEvent& event);
|
|
|
|
void OnRecord(wxCommandEvent& event);
|
|
|
|
void OnPlayRecording(wxCommandEvent& event);
|
2017-02-11 12:39:07 -07:00
|
|
|
void OnStopRecording(wxCommandEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnRecordExport(wxCommandEvent& event);
|
|
|
|
void OnRecordReadOnly(wxCommandEvent& event);
|
|
|
|
void OnTASInput(wxCommandEvent& event);
|
|
|
|
void OnTogglePauseMovie(wxCommandEvent& event);
|
|
|
|
void OnToggleDumpFrames(wxCommandEvent& event);
|
|
|
|
void OnToggleDumpAudio(wxCommandEvent& event);
|
|
|
|
void OnShowLag(wxCommandEvent& event);
|
|
|
|
void OnShowFrameCount(wxCommandEvent& event);
|
|
|
|
void OnShowInputDisplay(wxCommandEvent& event);
|
2016-07-19 18:23:25 -06:00
|
|
|
void OnShowRTCDisplay(wxCommandEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnChangeDisc(wxCommandEvent& event);
|
2017-09-17 03:35:26 -06:00
|
|
|
void OnEjectDisc(wxCommandEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnScreenshot(wxCommandEvent& event);
|
|
|
|
void OnActive(wxActivateEvent& event);
|
|
|
|
void OnClose(wxCloseEvent& event);
|
|
|
|
void OnLoadState(wxCommandEvent& event);
|
|
|
|
void OnSaveState(wxCommandEvent& event);
|
|
|
|
void OnLoadStateFromFile(wxCommandEvent& event);
|
|
|
|
void OnSaveStateToFile(wxCommandEvent& event);
|
|
|
|
void OnLoadLastState(wxCommandEvent& event);
|
|
|
|
void OnSaveFirstState(wxCommandEvent& event);
|
|
|
|
void OnUndoLoadState(wxCommandEvent& event);
|
|
|
|
void OnUndoSaveState(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnFrameStep(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnConfigMain(wxCommandEvent& event); // Options
|
|
|
|
void OnConfigGFX(wxCommandEvent& event);
|
|
|
|
void OnConfigAudio(wxCommandEvent& event);
|
|
|
|
void OnConfigControllers(wxCommandEvent& event);
|
|
|
|
void OnConfigHotkey(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnToggleFullscreen(wxCommandEvent& event);
|
|
|
|
void OnManagerResize(wxAuiManagerEvent& event);
|
|
|
|
void OnMove(wxMoveEvent& event);
|
|
|
|
void OnResize(wxSizeEvent& event);
|
|
|
|
void OnToggleToolbar(wxCommandEvent& event);
|
|
|
|
void OnToggleStatusbar(wxCommandEvent& event);
|
|
|
|
void OnToggleWindow(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnKeyDown(wxKeyEvent& event); // Keyboard
|
|
|
|
void OnMouse(wxMouseEvent& event); // Mouse
|
|
|
|
|
|
|
|
void OnHostMessage(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnMemcard(wxCommandEvent& event); // Misc
|
|
|
|
void OnImportSave(wxCommandEvent& event);
|
|
|
|
void OnExportAllSaves(wxCommandEvent& event);
|
|
|
|
|
2017-06-04 02:20:16 -06:00
|
|
|
void OnLoadGameCubeIPLJAP(wxCommandEvent& event);
|
|
|
|
void OnLoadGameCubeIPLUSA(wxCommandEvent& event);
|
|
|
|
void OnLoadGameCubeIPLEUR(wxCommandEvent& event);
|
2017-05-21 13:52:44 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnNetPlay(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnShowCheatsWindow(wxCommandEvent& event);
|
|
|
|
void OnLoadWiiMenu(wxCommandEvent& event);
|
|
|
|
void OnInstallWAD(wxCommandEvent& event);
|
2017-04-25 15:29:48 -06:00
|
|
|
void OnUninstallWAD(wxCommandEvent& event);
|
2017-03-19 01:00:49 -06:00
|
|
|
void OnImportBootMiiBackup(wxCommandEvent& event);
|
2017-10-03 08:45:59 -06:00
|
|
|
void OnCheckNAND(wxCommandEvent& event);
|
2017-03-19 01:00:49 -06:00
|
|
|
void OnExtractCertificates(wxCommandEvent& event);
|
2017-06-13 17:22:03 -06:00
|
|
|
void OnPerformOnlineWiiUpdate(wxCommandEvent& event);
|
2017-07-04 10:23:25 -06:00
|
|
|
void OnPerformDiscWiiUpdate(wxCommandEvent& event);
|
2016-06-24 02:43:46 -06:00
|
|
|
void OnFifoPlayer(wxCommandEvent& event);
|
|
|
|
void OnConnectWiimote(wxCommandEvent& event);
|
|
|
|
void GameListChanged(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnGameListCtrlItemActivated(wxListEvent& event);
|
|
|
|
void OnRenderParentResize(wxSizeEvent& event);
|
|
|
|
void OnChangeColumnsVisible(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void OnSelectSlot(wxCommandEvent& event);
|
|
|
|
void OnSaveCurrentSlot(wxCommandEvent& event);
|
|
|
|
void OnLoadCurrentSlot(wxCommandEvent& event);
|
|
|
|
|
|
|
|
void PollHotkeys(wxTimerEvent&);
|
|
|
|
void ParseHotkeys();
|
2017-06-24 18:10:23 -06:00
|
|
|
void HandleCursorTimer(wxTimerEvent&);
|
2016-07-08 08:35:03 -06:00
|
|
|
void HandleSignal(wxTimerEvent&);
|
2016-06-24 02:43:46 -06:00
|
|
|
|
|
|
|
bool InitControllers();
|
|
|
|
|
|
|
|
// Event table
|
2017-07-30 13:56:12 -06:00
|
|
|
DECLARE_EVENT_TABLE()
|
2008-12-07 21:46:09 -07:00
|
|
|
};
|