AppleWin/source/Configuration/PropertySheet.h
TomCh ed298b4fd9
Improve save-state card management (PR #983)
Initially all cards are removed before loading save-state.

Use new Registry "Configuration/Slot 2" location to save SSC's port name.
Use new Registry "Configuration/Slot 7" location to save HDV's image names.
Use new Registry "Configuration/Slot n" (and "Configuration/Slot Auxiliary") locations to save all other card types.

Command line: -s<slot> (eg. -s7 empty) now get persisted to the Registry.

Only update 'HDV Starting Directory' for slot7 & drive1.
2021-09-17 20:43:10 +01:00

65 lines
2.7 KiB
C++

#pragma once
#include "IPropertySheet.h"
#include "PropertySheetHelper.h"
#include "PageConfig.h"
#include "PageInput.h"
#include "PageSound.h"
#include "PageDisk.h"
#include "PageAdvanced.h"
class CPropertySheet : public IPropertySheet
{
public:
CPropertySheet() :
m_PageConfig(m_PropertySheetHelper),
m_PageInput(m_PropertySheetHelper),
m_PageSound(m_PropertySheetHelper),
m_PageDisk(m_PropertySheetHelper),
m_PageAdvanced(m_PropertySheetHelper)
{
}
virtual ~CPropertySheet(){}
virtual void Init(void);
virtual DWORD GetVolumeMax(void); // TODO:TC: Move out of here
virtual bool SaveStateSelectImage(HWND hWindow, bool bSave); // TODO:TC: Move out of here
void ApplyNewConfig(const CConfigNeedingRestart& ConfigNew, const CConfigNeedingRestart& ConfigOld)
{
m_PropertySheetHelper.ApplyNewConfig(ConfigNew, ConfigOld);
}
void ApplyNewConfigFromSnapshot(const CConfigNeedingRestart& ConfigNew)
{
m_PropertySheetHelper.ApplyNewConfigFromSnapshot(ConfigNew);
}
void ConfigSaveApple2Type(eApple2Type apple2Type)
{
m_PropertySheetHelper.ConfigSaveApple2Type(apple2Type);
}
virtual UINT GetScrollLockToggle(void){ return m_PageInput.GetScrollLockToggle(); }
virtual void SetScrollLockToggle(UINT uValue){ m_PageInput.SetScrollLockToggle(uValue); }
virtual UINT GetJoystickCursorControl(void){ return m_PageInput.GetJoystickCursorControl(); }
virtual void SetJoystickCursorControl(UINT uValue){ m_PageInput.SetJoystickCursorControl(uValue); }
virtual UINT GetJoystickCenteringControl(void){ return m_PageInput.GetJoystickCenteringControl(); }
virtual void SetJoystickCenteringControl(UINT uValue){ m_PageInput.SetJoystickCenteringControl(uValue); }
virtual UINT GetAutofire(UINT uButton) { return m_PageInput.GetAutofire(uButton); }
virtual void SetAutofire(UINT uValue) { m_PageInput.SetAutofire(uValue); }
virtual bool GetButtonsSwapState(void) { return m_PageInput.GetButtonsSwapState(); }
virtual void SetButtonsSwapState(bool value) { m_PageInput.SetButtonsSwapState(value); }
virtual UINT GetMouseShowCrosshair(void){ return m_PageInput.GetMouseShowCrosshair(); }
virtual void SetMouseShowCrosshair(UINT uValue){ m_PageInput.SetMouseShowCrosshair(uValue); }
virtual UINT GetMouseRestrictToWindow(void){ return m_PageInput.GetMouseRestrictToWindow(); }
virtual void SetMouseRestrictToWindow(UINT uValue){ m_PageInput.SetMouseRestrictToWindow(uValue); }
virtual UINT GetTheFreezesF8Rom(void){ return m_PageAdvanced.GetTheFreezesF8Rom(); }
virtual void SetTheFreezesF8Rom(UINT uValue){ m_PageAdvanced.SetTheFreezesF8Rom(uValue); }
private:
CPropertySheetHelper m_PropertySheetHelper;
CPageConfig m_PageConfig;
CPageInput m_PageInput;
CPageSound m_PageSound;
CPageDisk m_PageDisk;
CPageAdvanced m_PageAdvanced;
};