project64/Source/Project64/UserInterface/Settings/SettingsPage-GameBrowser.h

53 lines
2.4 KiB
C++

/****************************************************************************
* *
* 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 COptionsGameBrowserPage :
public CSettingsPageImpl<COptionsGameBrowserPage>,
public CSettingsPage
{
BEGIN_MSG_MAP_EX(COptionsGameBrowserPage)
COMMAND_HANDLER_EX(IDC_ADD, BN_CLICKED, AddFieldClicked)
COMMAND_HANDLER_EX(IDC_REMOVE, BN_CLICKED, RemoveFieldClicked)
COMMAND_HANDLER_EX(IDC_UP, BN_CLICKED, MoveFieldUpClicked)
COMMAND_HANDLER_EX(IDC_DOWN, BN_CLICKED, MoveFieldDownClicked)
COMMAND_ID_HANDLER_EX(IDC_USE_ROMBROWSER, UseRomBrowserChanged)
COMMAND_ID_HANDLER_EX(IDC_RECURSION, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_SHOW_FILE_EXTENSIONS, CheckBoxChanged)
END_MSG_MAP()
enum { IDD = IDD_Settings_RomBrowser };
public:
COptionsGameBrowserPage(HWND hParent, const RECT & rcDispay);
LanguageStringID PageTitle(void) { return TAB_ROMSELECTION; }
void HidePage(void);
void ShowPage(void);
void ApplySettings(bool UpdateScreen);
bool EnableReset(void);
void ResetPage(void);
private:
void UpdatePageSettings(void);
void UpdateFieldList(const ROMBROWSER_FIELDS_LIST & Fields);
void AddFieldClicked(UINT Code, int id, HWND ctl);
void RemoveFieldClicked(UINT Code, int id, HWND ctl);
void MoveFieldUpClicked(UINT Code, int id, HWND ctl);
void MoveFieldDownClicked(UINT Code, int id, HWND ctl);
void UseRomBrowserChanged(UINT Code, int id, HWND ctl);
void FixCtrlState(void);
ROMBROWSER_FIELDS_LIST m_Fields;
CListBox m_Avaliable, m_Using;
bool m_OrderChanged, m_OrderReset;
};