Files
AppleWin/source/Configuration/PropertySheet.h

65 lines
2.7 KiB
C++

#pragma once
#include "IPropertySheet.h"
#include "PropertySheetHelper.h"
#include "PageConfig.h"
#include "PageInput.h"
#include "PageSlots.h"
#include "PageAdvanced.h"
class CPropertySheet : public IPropertySheet
{
public:
CPropertySheet() :
m_PageConfig(m_PropertySheetHelper),
m_PageInput(m_PropertySheetHelper),
m_PageSlots(m_PropertySheetHelper),
m_PageAdvanced(m_PropertySheetHelper)
{
}
virtual ~CPropertySheet(){}
virtual void Init(void);
virtual uint32_t GetVolumeMax(void); // TODO:TC: Move out of here
virtual bool SaveStateSelectImage(HWND hWindow, bool bSave); // TODO:TC: Move out of here
virtual void ResetAllToDefault();
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_PageConfig.GetScrollLockToggle(); }
virtual void SetScrollLockToggle(UINT uValue){ m_PageConfig.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 UINT GetAutofire(void) { return m_PageInput.GetAutofire(); }
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_PageSlots.GetMouseShowCrosshair(); }
virtual void SetMouseShowCrosshair(UINT uValue) { m_PageSlots.SetMouseShowCrosshair(uValue); }
virtual UINT GetMouseRestrictToWindow(void){ return m_PageSlots.GetMouseRestrictToWindow(); }
virtual void SetMouseRestrictToWindow(UINT uValue){ m_PageSlots.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;
CPageSlots m_PageSlots;
CPageAdvanced m_PageAdvanced;
};