|
|
1.1 root 1:
2: #include "perfmon.h"
3:
4: #include "report.h" // for ReportData
5: #include "utils.h"
6: #include "playback.h" // for PlayingBackLog
7: #include "pmhelpid.h" // Help IDs
8:
9: static BOOL LocalManualRefresh ;
10: static DWORD iIntervalMSecs ;
11:
12:
13: void static OnInitDialog (HWND hDlg, PREPORT pReport)
14: {
15: int i ;
16:
17: for (i = 0 ;
18: i < NumIntervals ;
19: i++)
20: CBAddInt (DialogControl (hDlg, IDD_REPORTOPTIONSINTERVAL),
21: aiIntervals [i]) ;
22:
23: DialogSetInterval (hDlg, IDD_REPORTOPTIONSINTERVAL,
24: pReport->iIntervalMSecs) ;
25:
26: LocalManualRefresh = pReport->bManualRefresh ;
27:
28: if (LocalManualRefresh && !PlayingBackLog())
29: {
30: DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVAL, FALSE) ;
31: DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVALTEXT, FALSE) ;
32: }
33:
34: CheckRadioButton(hDlg,
35: IDD_REPORTOPTIONSMANUALREFRESH,
36: IDD_REPORTOPTIONSPERIODIC,
37: LocalManualRefresh ? IDD_REPORTOPTIONSMANUALREFRESH :
38: IDD_REPORTOPTIONSPERIODIC) ;
39:
40: WindowCenter (hDlg) ;
41:
42: }
43:
44:
45: int FAR WINAPI ReportOptionsDlgProc (HWND hDlg,
46: unsigned iMessage,
47: WPARAM wParam,
48: LONG lParam)
49: {
50: BOOL bHandled ;
51:
52: bHandled = TRUE ;
53: switch (iMessage)
54: {
55: case WM_INITDIALOG:
56: dwCurrentDlgID = HC_PM_idDlgOptionReport ;
57: OnInitDialog (hDlg, (PREPORT) lParam) ;
58: return (TRUE) ;
59:
60: case WM_CLOSE:
61: dwCurrentDlgID = 0 ;
62: EndDialog (hDlg, 0) ;
63: break ;
64:
65: case WM_COMMAND:
66: switch(wParam)
67: {
68: case IDD_OK:
69: {
70: FLOAT eIntervalMSec ;
71:
72: eIntervalMSec = DialogFloat (hDlg, IDD_REPORTOPTIONSINTERVAL, NULL) ;
73:
74: if (eIntervalMSec > MAX_INTERVALSEC ||
75: eIntervalMSec < MIN_INTERVALSEC)
76: {
77: DlgErrorBox (hDlg, ERR_BADTIMEINTERVAL) ;
78: SetFocus (DialogControl (hDlg, IDD_REPORTOPTIONSINTERVAL)) ;
79: EditSetTextEndPos (hDlg, IDD_REPORTOPTIONSINTERVAL) ;
80: return (FALSE) ;
81: break ;
82: }
83: eIntervalMSec = eIntervalMSec * (FLOAT) 1000.0 +
84: (FLOAT) 0.5 ;
85:
86: iIntervalMSecs = (DWORD) (eIntervalMSec);
87: dwCurrentDlgID = 0 ;
88: EndDialog (hDlg, 1) ;
89: }
90: break ;
91:
92: case IDD_CANCEL:
93: dwCurrentDlgID = 0 ;
94: EndDialog (hDlg, 0) ;
95: break ;
96:
97: case IDD_REPORTOPTIONSPERIODIC :
98: case IDD_REPORTOPTIONSMANUALREFRESH :
99:
100: // check if the Manual refresh is currently checked.
101: // Then toggle the ManualRefresh button
102: LocalManualRefresh =
103: IsDlgButtonChecked (hDlg, IDD_REPORTOPTIONSMANUALREFRESH) ;
104:
105: CheckRadioButton(hDlg,
106: IDD_REPORTOPTIONSMANUALREFRESH,
107: IDD_REPORTOPTIONSPERIODIC,
108: LocalManualRefresh ? IDD_REPORTOPTIONSPERIODIC :
109: IDD_REPORTOPTIONSMANUALREFRESH) ;
110:
111: DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVAL, LocalManualRefresh) ;
112: DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVALTEXT, LocalManualRefresh) ;
113: LocalManualRefresh = !LocalManualRefresh ;
114: break ;
115:
116: case IDD_DISPLAYHELP:
117: CallWinHelp (dwCurrentDlgID) ;
118: break ;
119:
120: default:
121: bHandled = FALSE ;
122: break;
123: }
124: break;
125:
126:
127: default:
128: bHandled = FALSE ;
129: break ;
130: } // switch
131:
132: return (bHandled) ;
133: } // ReportOptionsDlgProc
134:
135:
136:
137:
138: BOOL DisplayReportOptions (HWND hWndParent,
139: HWND hWndReport)
140: { // DisplayReportOptions
141: PREPORT pReport ;
142:
143: pReport = ReportData (hWndParent) ;
144:
145: if (DialogBoxParam (hInstance, idDlgReportOptions,
146: hWndParent, (DLGPROC) ReportOptionsDlgProc,
147: (LPARAM) pReport))
148: { // if
149: pReport->iIntervalMSecs = iIntervalMSecs ;
150: if (LocalManualRefresh != pReport->bManualRefresh)
151: {
152: ToggleReportRefresh (hWndReport) ;
153: }
154: else
155: {
156: SetReportTimer (pReport) ;
157: }
158: } // if
159:
160: return (TRUE) ;
161: } // DisplayReportOptions
162:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.