2016-01-27 09:11:59 +00:00
|
|
|
/****************************************************************************
|
|
|
|
* *
|
|
|
|
* Project64 - A Nintendo 64 emulator. *
|
|
|
|
* http://www.pj64-emu.com/ *
|
|
|
|
* Copyright (C) 2012 Project64. All rights reserved. *
|
|
|
|
* *
|
|
|
|
* License: *
|
|
|
|
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
|
|
|
|
* *
|
|
|
|
****************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class COptionsShortCutsPage :
|
|
|
|
public CSettingsPageImpl<COptionsShortCutsPage>,
|
|
|
|
public CSettingsPage
|
|
|
|
{
|
|
|
|
typedef CMenuShortCutKey::ACCESS_MODE ACCESS_MODE;
|
|
|
|
typedef CShortCutItem::SHORTCUT_KEY_LIST SHORTCUT_KEY_LIST;
|
|
|
|
|
|
|
|
BEGIN_MSG_MAP_EX(COptionsShortCutsPage)
|
|
|
|
COMMAND_HANDLER_EX(IDC_C_CPU_STATE,LBN_SELCHANGE,OnCpuStateChanged);
|
|
|
|
NOTIFY_HANDLER_EX(IDC_MENU_ITEMS,TVN_SELCHANGED,OnMenuItemChanged);
|
|
|
|
COMMAND_HANDLER_EX(IDC_REMOVE,BN_CLICKED,OnRemoveClicked)
|
|
|
|
COMMAND_HANDLER_EX(IDC_KEY_PROMPT,BN_CLICKED,OnDetectKeyClicked)
|
|
|
|
COMMAND_HANDLER_EX(IDC_ASSIGN,BN_CLICKED,OnAssignClicked)
|
|
|
|
COMMAND_HANDLER_EX(IDC_CTL,BN_CLICKED,OnShortCutChanged)
|
|
|
|
COMMAND_HANDLER_EX(IDC_ALT,BN_CLICKED,OnShortCutChanged)
|
|
|
|
COMMAND_HANDLER_EX(IDC_SHIFT,BN_CLICKED,OnShortCutChanged)
|
|
|
|
COMMAND_HANDLER_EX(IDC_VIRTUALKEY,LBN_SELCHANGE,OnShortCutChanged)
|
|
|
|
END_MSG_MAP()
|
|
|
|
|
|
|
|
enum { IDD = IDD_Settings_Accelerator };
|
|
|
|
|
|
|
|
public:
|
|
|
|
COptionsShortCutsPage(HWND hParent, const RECT & rcDispay );
|
|
|
|
|
|
|
|
LanguageStringID PageTitle ( void ) { return TAB_SHORTCUTS; }
|
|
|
|
void HidePage ( void );
|
|
|
|
void ShowPage ( void );
|
|
|
|
void ApplySettings ( bool UpdateScreen );
|
|
|
|
bool EnableReset ( void );
|
|
|
|
void ResetPage ( void );
|
|
|
|
|
|
|
|
private:
|
|
|
|
void OnCpuStateChanged ( UINT Code, int id, HWND ctl );
|
|
|
|
void OnRemoveClicked ( UINT Code, int id, HWND ctl );
|
|
|
|
void OnDetectKeyClicked ( UINT Code, int id, HWND ctl );
|
|
|
|
void OnAssignClicked ( UINT Code, int id, HWND ctl );
|
|
|
|
void OnShortCutChanged ( UINT Code, int id, HWND ctl );
|
|
|
|
LRESULT OnMenuItemChanged ( LPNMHDR lpnmh );
|
|
|
|
|
|
|
|
void RefreshShortCutOptions ( HTREEITEM hItem );
|
|
|
|
void InputGetKeys ( void );
|
|
|
|
void CheckResetEnable ( void );
|
|
|
|
|
|
|
|
static void stInputGetKeys (COptionsShortCutsPage * _this )
|
|
|
|
{
|
|
|
|
_this->InputGetKeys();
|
|
|
|
}
|
|
|
|
|
|
|
|
CPartialGroupBox m_CreateNewShortCut;
|
|
|
|
CComboBox m_CpuState, m_VirtualKeyList;
|
|
|
|
CShortCuts m_ShortCuts;
|
|
|
|
CTreeViewCtrl m_MenuItems;
|
|
|
|
CListBox m_CurrentKeys;
|
|
|
|
bool m_EnableReset;
|
|
|
|
};
|