#pragma once class COptionsGameBrowserPage : public CSettingsPageImpl, 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; };