Files
FC1/Editor/PreferencesDialog.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

68 lines
1.9 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: PreferencesDialog.h
// Version: v1.00
// Created: 28/10/2003 by Timur.
// Compilers: Visual Studio.NET
// Description: Editor Preferences Dialog.
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __preferences_dialog_h__
#define __preferences_dialog_h__
#pragma once
// CPreferencesDialog dialog
#include "XTToolkit.h"
#include "Include\IPreferencesPage.h"
class CPreferencesDialog : public CXTResizeDialog
{
DECLARE_DYNAMIC(CPreferencesDialog)
public:
CPreferencesDialog(CWnd* pParent = NULL); // standard constructor
virtual ~CPreferencesDialog();
// Dialog Data
enum { IDD = IDD_PREFERENCES };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
afx_msg void OnGetdispinfoListOptions(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSelchangedListOptions(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSize( UINT nType,int cx,int cy );
virtual void OnOK();
virtual void OnCancel();
DECLARE_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////
void CreatePages( const CRect &rc );
void FillTree();
protected:
CTreeCtrl m_wndTree;
CImageList m_imgList;
//////////////////////////////////////////////////////////////////////////
struct PageInfo : public CRefCountBase
{
CWnd *pWnd;
IPreferencesPage *pPage;
CString title;
CString category;
PageInfo() : pPage(0),pWnd(0) {};
};
std::vector<_smart_ptr<PageInfo> > m_pagesInfo;
PageInfo* m_pSelected;
};
#endif // __preferences_dialog_h__