]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/tools/common/PropTree/PropTreeList.h
hello world
[icculus/iodoom3.git] / neo / tools / common / PropTree / PropTreeList.h
1 #if !defined(AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_)
2 #define AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_
3
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
7 // PropTreeList.h : header file
8 //
9 //  Copyright (C) 1998-2001 Scott Ramsay
10 //      sramsay@gonavi.com
11 //      http://www.gonavi.com
12 //
13 //  This material is provided "as is", with absolutely no warranty expressed
14 //  or implied. Any use is at your own risk.
15 // 
16 //  Permission to use or copy this software for any purpose is hereby granted 
17 //  without fee, provided the above notices are retained on all copies.
18 //  Permission to modify the code and to distribute modified code is granted,
19 //  provided the above notices are retained, and a notice that the code was
20 //  modified is included with the above copyright notice.
21 // 
22 //      If you use this code, drop me an email.  I'd like to know if you find the code
23 //      useful.
24
25 class CPropTree;
26
27 /////////////////////////////////////////////////////////////////////////////
28 // CPropTreeList window
29
30 class PROPTREE_API CPropTreeList : public CWnd
31 {
32 // Construction
33 public:
34         CPropTreeList();
35         virtual ~CPropTreeList();
36
37         BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
38
39 // Attributes
40 public:
41         void SetPropOwner(CPropTree* pProp);
42
43 protected:
44         // CPropTree class that this class belongs
45         CPropTree*              m_pProp;
46
47         // bitmap back buffer for flicker free drawing
48         CBitmap                 m_BackBuffer;
49
50         // current diminsions of the back buffer
51         CSize                   m_BackBufferSize;
52
53         // splitter pevious position
54         LONG                    m_nPrevCol;
55
56         // TRUE if we are dragging the splitter
57         BOOL                    m_bColDrag;
58
59 // Operations
60 public:
61         void UpdateResize();
62
63 protected:
64         void RecreateBackBuffer(int cx, int cy);
65         void CheckVisibleFocus();
66
67 // Overrides
68         // ClassWizard generated virtual function overrides
69         //{{AFX_VIRTUAL(CPropTreeList)
70         //}}AFX_VIRTUAL
71
72 // Implementation
73 public:
74
75         // Generated message map functions
76 protected:
77         //{{AFX_MSG(CPropTreeList)
78         afx_msg void OnSize(UINT nType, int cx, int cy);
79         afx_msg void OnPaint();
80         afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
81         afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
82         afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
83         afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
84         afx_msg void OnMouseMove(UINT nFlags, CPoint point);
85         afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
86         afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
87         afx_msg UINT OnGetDlgCode();
88         //}}AFX_MSG
89 public:
90         afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
91         DECLARE_MESSAGE_MAP()
92 };
93
94 /////////////////////////////////////////////////////////////////////////////
95
96 //{{AFX_INSERT_LOCATION}}
97 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
98
99 #endif // !defined(AFX_PROPTREELIST_H__2E09E831_09F5_44AA_B41D_9C4BF495873C__INCLUDED_)