69 lines
3.4 KiB
C++
69 lines
3.4 KiB
C++
/****************************************************************************
|
|
* *
|
|
* Project 64 - 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
|
|
|
|
#include <Plugin.h>
|
|
|
|
class COptionPluginPage :
|
|
public CSettingsPageImpl<COptionPluginPage>,
|
|
public CSettingsPage
|
|
{
|
|
BEGIN_MSG_MAP_EX(COptionPluginPage)
|
|
COMMAND_HANDLER_EX(GFX_LIST,LBN_SELCHANGE,GfxPluginChanged)
|
|
COMMAND_HANDLER_EX(AUDIO_LIST,LBN_SELCHANGE,AudioPluginChanged)
|
|
COMMAND_HANDLER_EX(CONT_LIST,LBN_SELCHANGE,ControllerPluginChanged)
|
|
COMMAND_HANDLER_EX(RSP_LIST,LBN_SELCHANGE,RspPluginChanged)
|
|
COMMAND_ID_HANDLER_EX(GFX_ABOUT,GfxPluginAbout)
|
|
COMMAND_ID_HANDLER_EX(AUDIO_ABOUT,AudioPluginAbout)
|
|
COMMAND_ID_HANDLER_EX(CONT_ABOUT,ControllerPluginAbout)
|
|
COMMAND_ID_HANDLER_EX(RSP_ABOUT,RspPluginAbout)
|
|
COMMAND_ID_HANDLER_EX(IDC_HLE_GFX,HleGfxChanged)
|
|
COMMAND_ID_HANDLER_EX(IDC_HLE_AUDIO,HleAudioChanged)
|
|
END_MSG_MAP()
|
|
|
|
enum { IDD = IDD_Settings_PlugSel };
|
|
|
|
public:
|
|
COptionPluginPage(HWND hParent, const RECT & rcDispay );
|
|
|
|
LanguageStringID PageTitle ( void ) { return TAB_PLUGIN; }
|
|
void HidePage ( void );
|
|
void ShowPage ( void );
|
|
void ApplySettings ( bool UpdateScreen );
|
|
bool EnableReset ( void );
|
|
void ResetPage ( void );
|
|
|
|
private:
|
|
void GfxPluginAbout ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { ShowAboutButton(GFX_LIST); }
|
|
void AudioPluginAbout ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { ShowAboutButton(AUDIO_LIST); }
|
|
void ControllerPluginAbout ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { ShowAboutButton(CONT_LIST); }
|
|
void RspPluginAbout ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { ShowAboutButton(RSP_LIST); }
|
|
|
|
void GfxPluginChanged ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { PluginItemChanged(GFX_LIST,GFX_ABOUT); }
|
|
void AudioPluginChanged ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { PluginItemChanged(AUDIO_LIST,AUDIO_ABOUT); }
|
|
void ControllerPluginChanged ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { PluginItemChanged(CONT_LIST,CONT_ABOUT); }
|
|
void RspPluginChanged ( UINT /*Code*/, int /*id*/, HWND /*ctl*/ ) { PluginItemChanged(RSP_LIST,RSP_ABOUT); }
|
|
|
|
void HleGfxChanged ( UINT Code, int id, HWND ctl );
|
|
void HleAudioChanged ( UINT Code, int id, HWND ctl );
|
|
|
|
void ShowAboutButton ( int id );
|
|
void PluginItemChanged ( int id, int AboutID, bool bSetChanged = true );
|
|
|
|
void AddPlugins (int ListId,SettingID Type, PLUGIN_TYPE PluginType );
|
|
void UpdatePageSettings ( void );
|
|
void ApplyComboBoxes ( void );
|
|
bool ResetComboBox ( CModifiedComboBox & ComboBox, SettingID Type );
|
|
|
|
CPartialGroupBox m_GfxGroup, m_AudioGroup, m_ControlGroup, m_RspGroup;
|
|
CPluginList m_PluginList;
|
|
};
|