Files
AppleWin/source/Configuration/PageAdvanced.h
TomCh 80ec6e5545 Improve Configuration GUI for better slot/card selection (#853, PR #1462)
. Add PropSheetPage: Slots (and include 'Reset to Default')
  - include config options for some cards
. Remove PropSheetPages: Sound & Disk
. Config page: refactor and add 'Reset all to Default'
. Input page: refactor
. Advanced page: refactor
2026-03-07 22:00:07 +00:00

54 lines
1.6 KiB
C++

#pragma once
#include "PropertySheetDefs.h"
#include "IPropertySheetPage.h"
#include "Common.h"
class CPropertySheetHelper;
class CPageAdvanced : private IPropertySheetPage
{
public:
CPageAdvanced(CPropertySheetHelper& PropertySheetHelper) :
m_Page(PG_ADVANCED),
m_PropertySheetHelper(PropertySheetHelper),
m_uTheFreezesF8Rom(kTheFreezesF8Rom_Default)
{
CPageAdvanced::ms_this = this;
}
virtual ~CPageAdvanced(){}
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
UINT GetTheFreezesF8Rom(void){ return m_uTheFreezesF8Rom; }
void SetTheFreezesF8Rom(UINT uValue){ m_uTheFreezesF8Rom = uValue; }
virtual void ApplyConfigAfterClose(); // IPropertySheetPage
virtual void ResetToDefault(); // IPropertySheetPage
protected:
// IPropertySheetPage
virtual INT_PTR DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
virtual void DlgOK(HWND hWnd);
virtual void DlgCANCEL(HWND hWnd){}
private:
void InitOptions(HWND hWnd);
eApple2Type GetCloneType(uint32_t NewMenuItem);
int GetCloneMenuItem(void);
void InitFreezeDlgButton(HWND hWnd);
void InitCloneDropdownMenu(HWND hWnd);
void InitGameIOConnectorDropdownMenu(HWND hWnd);
bool IsOkToBenchmark(HWND hWnd, const bool bConfigChanged);
static CPageAdvanced* ms_this;
static const char m_CloneChoices[];
static const char m_gameIOConnectorChoices[];
static const UINT kTheFreezesF8Rom_Default = 0;
const PAGETYPE m_Page;
CPropertySheetHelper& m_PropertySheetHelper;
UINT m_uTheFreezesF8Rom;
};