Exteor/include/xtr/dialog/OptionsDialog.h

100 lines
1.8 KiB
C
Raw Normal View History

2024-06-07 20:30:06 +03:00
#pragma once
namespace xtr::dialog {
//! Dialog: Application options page
class GeneralPage final : public CPropertyPage {
BOOL promptVersion;
BOOL disableAutoKeyboard;
BOOL showStartPage;
BOOL enablePython;
CString pythonPath;
public:
GeneralPage();
private:
void DoDataExchange(CDataExchange* pDX) override;
void OnOK() override;
DECLARE_MESSAGE_MAP()
afx_msg void OnChange() { SetModified(); }
};
//! Dialog: OSS options page
class OSSPage final : public CPropertyPage {
BOOL m_RunOperation;
BOOL m_EnableGrid;
int32_t zoom;
public:
OSSPage();
private:
void DoDataExchange(CDataExchange* pDX) override;
BOOL OnInitDialog() override;
void OnOK() override;
DECLARE_MESSAGE_MAP()
afx_msg void OnChange() {
SetModified();
}
};
//! Dialog: RS parsing options page
class ParsingPage final : public CPropertyPage {
BOOL autoCheck;
BOOL colorBrackets;
BOOL showAST;
BOOL enableNavigator;
int32_t m_IndexCst;
int32_t m_IndexLocal;
int32_t m_IndexPr;
public:
ParsingPage();
private:
void DoDataExchange(CDataExchange* pDX) override;
void OnOK() override;
DECLARE_MESSAGE_MAP()
afx_msg void OnChange() {
SetModified();
}
};
//! Dialog: RSModel options page
class ModelPage final : public CPropertyPage {
BOOL m_DataMode;
public:
ModelPage();
private:
void DoDataExchange(CDataExchange* pDX) override;
void OnOK() override;
DECLARE_MESSAGE_MAP()
afx_msg void OnChange() {
SetModified();
}
};
//! Dialog: Exteor options
struct ExteorOptionsSheet final : CPropertySheet {
GeneralPage m_App;
OSSPage m_OSS;
ParsingPage parsing;
ModelPage m_RSModel;
public:
explicit ExteorOptionsSheet(CWnd* pWndParent = nullptr);
private:
BOOL PreTranslateMessage(MSG* pMsg) override;
};
} // namespace xtr::dialog