|
|
1.1 root 1: /*
2: * listwin.h
3: */
4:
5: class CListWndLeft;
6: class CListWndRight;
7:
8: class CListWnd : public CMDIChildWnd
9: {
10: private:
11: short m_iTop; /* index of car at Top of window */
12: short m_iCur; /* Current carat index */
13: int m_cxChar;
14: int m_cyChar;
15: int m_nVscrollPos;
16: int m_cxCaps;
17: int m_nMaxWidth;
18: int m_cxClient;
19: int m_cyClient;
20: int m_nVscrollMax;
21: int m_nSelectLine;
22: CMenu * m_pMenuCurrent;
23: BOOL m_bWindowActive;
24: ListHead m_ListHead;
25: int m_SortOrder;
26: LOGFONT logFont;
27: RANGESTRUCT rs;
28: CRect rgrtMove[9];
29: BOOL fCursor;
30: BOOL fChildren;
31: BOOL fCapture;
32: CRect rtCapture;
33: int iCapture;
34: int rgl[11];
35: CListWndLeft * pLeft;
36: CListWndRight * pRight;
37: float ratio;
38:
39: public:
40: CListWnd();
41: ~CListWnd();
42:
43: ListHead * ListHead() { return &m_ListHead; };
44: int SortOrder() { return m_SortOrder; };
45: RANGESTRUCT * RangeStruct() { return &rs; };
46: LOGFONT * LogFont() { return &logFont; };
47:
48: BOOL Create(LPCSTR szTitle, LONG style = 0,
49: const RECT& rect = rectDefault, CMDIFrameWnd* pParent = NULL);
50:
51: void InvalidateLine();
52:
53: RANGESTRUCT * prs() { return &rs; };
54:
55: void InitTiming() { return; }
56: void AddTiming(int iDepth, char * szModule, char * szName, int cCalls, TIMETYPE totalTime, TIMETYPE functionTime)
57: {
58: m_ListHead.AddTiming(szModule, szName, cCalls, totalTime, functionTime);
59: };
60:
61: void EndTiming();
62:
63: // Message handlers
64:
65: afx_msg void OnChildren();
66: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
67: afx_msg void OnDestroy();
68: afx_msg void OnDown();
69: afx_msg void OnFont();
70: afx_msg void OnKeyDown( UINT wParam, UINT, UINT );
71: afx_msg void OnLButtonDblClk( UINT wParam, CPoint location );
72: afx_msg void OnLButtonDown( UINT wParam, CPoint location );
73: afx_msg void OnLButtonUp( UINT wParam, CPoint location );
74: afx_msg void OnMDIActivate(BOOL bActivate, CWnd * pActivateWnd, CWnd * pDeactiveWnd);
75: afx_msg void OnMouseMove(UINT nFlags, CPoint pt);
76: afx_msg void OnPaint();
77: afx_msg void OnRanges();
78: afx_msg void OnSize(UINT nType, int cx, int cy);
79: afx_msg void OnSortAlpha();
80: afx_msg void OnSortCalls();
81: afx_msg void OnSortTime();
82: afx_msg void OnSortTimePer();
83: afx_msg void OnUp();
84: afx_msg void OnVScroll(UINT wParam, UINT pos, CScrollBar * control);
85:
86: DECLARE_MESSAGE_MAP()
87: };
88:
89:
90:
91: class CListWndChild : public CWnd {
92: public:
93: CListWnd * pListWnd;
94: int m_cxClient;
95: int m_cyClient;
96:
97: int m_nHscrollPos;
98: int m_nHscrollMax;
99: int m_nVscrollPos;
100: int m_nVscrollMax;
101: int m_cxChar;
102: int m_cyChar;
103:
104: public:
105: ListHead * ListHead() { return pListWnd->ListHead(); };
106: int SortOrder() { return pListWnd->SortOrder(); };
107: RANGESTRUCT * RangeStruct() { return pListWnd->RangeStruct(); };
108: LOGFONT * LogFont() { return pListWnd->LogFont(); };
109:
110: BOOL Create(DWORD, const RECT&, CListWnd *);
111: int OnVScroll(UINT wParam, UINT pos, CScrollBar * control);
112:
113: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
114: afx_msg void OnDestroy();
115: afx_msg void OnHScroll(UINT wParam, UINT pos, CScrollBar * control);
116: afx_msg void OnMouseMove(UINT nFlags, CPoint pt);
117: afx_msg void OnSize(UINT nType, int cx, int cy);
118:
119: virtual void ComputeWidths() = 0;
120: };
121:
122:
123: class CListWndLeft : public CListWndChild {
124:
125: public:
126: void ComputeWidths();
127:
128: afx_msg void OnPaint();
129:
130: DECLARE_MESSAGE_MAP()
131: }; /* class CListWndLeft() */
132:
133:
134:
135:
136: class CListWndRight : public CListWndChild {
137: int rgl[11];
138:
139: public:
140: void ComputeWidths();
141:
142: afx_msg void OnPaint();
143:
144: DECLARE_MESSAGE_MAP()
145: }; /* class CListWndRight() */
146:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.