Linux multi-monitor fullscreen support
[ryzomcore.git] / nel / tools / logic / logic_editor_dll / ResizableSheet.h
blobdcb21917d97770c9806adde9199259e88eefe67e
1 #if !defined(AFX_RESIZABLESHEET_H__INCLUDED_)
2 #define AFX_RESIZABLESHEET_H__INCLUDED_
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
8 /////////////////////////////////////////////////////////////////////////////
9 //
10 // Copyright (C) 2000 by Paolo Messina
11 // (ppescher@yahoo.com)
13 // Free for non-commercial use.
14 // You may change the code to your needs,
15 // provided that credits to the original
16 // author is given in the modified files.
17 //
18 /////////////////////////////////////////////////////////////////////////////
19 // ResizableSheet.h : header file
22 class CResizableSheet : public CPropertySheet
24 DECLARE_DYNAMIC(CResizableSheet)
26 // Construction
27 public:
28 CResizableSheet();
29 CResizableSheet(UINT nIDCaption, CWnd *pParentWnd = NULL, UINT iSelectPage = 0);
30 CResizableSheet(LPCTSTR pszCaption, CWnd *pParentWnd = NULL, UINT iSelectPage = 0);
32 // Attributes
33 private:
34 // flags
35 BOOL m_bEnableSaveRestore;
36 BOOL m_bSavePage;
38 // internal status
39 CString m_sSection; // section name and
40 CString m_sEntry; // entry for save/restore
42 BOOL m_bInitDone; // if all internal vars initialized
44 // layout variables
45 SIZE m_szLayoutPage;
46 SIZE m_szLayoutTabLine; // tab control or wizard line
47 SIZE m_szLayoutButton[7]; // each index corresponds to a possible button
49 // Operations
50 public:
52 // Overrides
53 // ClassWizard generated virtual function overrides
54 //{{AFX_VIRTUAL(CResizableSheet)
55 public:
56 virtual BOOL OnInitDialog();
57 protected:
58 //}}AFX_VIRTUAL
60 // Implementation
61 public:
62 virtual ~CResizableSheet();
64 // used internally
65 private:
66 void PresetLayout();
67 void Construct();
68 void LoadWindowRect();
69 void SaveWindowRect();
70 void ArrangeLayout();
72 // callable from derived classes
73 protected:
74 void SetMaximizedRect(const CRect& rc); // set window rect when maximized
75 void ResetMaximizedRect(); // reset to default maximized rect
76 void EnableSaveRestore(LPCTSTR pszSection,
77 LPCTSTR pszEntry, BOOL bWithPage = FALSE); // section and entry in app's profile
78 int GetMinWidth(); // minimum width to display all buttons
81 // Generated message map functions
82 protected:
83 //{{AFX_MSG(CResizableSheet)
84 afx_msg void OnSize(UINT nType, int cx, int cy);
85 afx_msg void OnDestroy();
86 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
87 //}}AFX_MSG
88 afx_msg void OnPageChanged();
89 DECLARE_MESSAGE_MAP()
92 /////////////////////////////////////////////////////////////////////////////
94 #endif // AFX_RESIZABLESHEET_H__INCLUDED_