home *** CD-ROM | disk | FTP | other *** search
-
- #include "perfmon.h"
-
- #include "report.h" // for ReportData
- #include "utils.h"
- #include "playback.h" // for PlayingBackLog
- #include "pmhelpid.h" // Help IDs
-
- extern BOOL LocalManualRefresh ;
- static DWORD iIntervalMSecs ;
-
-
- void static OnInitDialog (HWND hDlg, PREPORT pReport)
- {
- int i ;
-
- for (i = 0 ;
- i < NumIntervals ;
- i++)
- CBAddInt (DialogControl (hDlg, IDD_REPORTOPTIONSINTERVAL),
- aiIntervals [i]) ;
-
- DialogSetInterval (hDlg, IDD_REPORTOPTIONSINTERVAL,
- pReport->iIntervalMSecs) ;
-
- LocalManualRefresh = pReport->bManualRefresh ;
-
- if (LocalManualRefresh && !PlayingBackLog())
- {
- DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVAL, FALSE) ;
- DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVALTEXT, FALSE) ;
- }
-
- CheckRadioButton(hDlg,
- IDD_REPORTOPTIONSMANUALREFRESH,
- IDD_REPORTOPTIONSPERIODIC,
- LocalManualRefresh ? IDD_REPORTOPTIONSMANUALREFRESH :
- IDD_REPORTOPTIONSPERIODIC) ;
-
- WindowCenter (hDlg) ;
-
- }
-
-
- int FAR WINAPI ReportOptionsDlgProc (HWND hDlg,
- unsigned iMessage,
- WPARAM wParam,
- LONG lParam)
- {
- BOOL bHandled ;
-
- bHandled = TRUE ;
- switch (iMessage)
- {
- case WM_INITDIALOG:
- dwCurrentDlgID = HC_PM_idDlgOptionReport ;
- OnInitDialog (hDlg, (PREPORT) lParam) ;
- return (TRUE) ;
-
- case WM_CLOSE:
- dwCurrentDlgID = 0 ;
- EndDialog (hDlg, 0) ;
- break ;
-
- case WM_COMMAND:
- switch(wParam)
- {
- case IDD_OK:
- {
- FLOAT eIntervalMSec ;
-
- eIntervalMSec = DialogFloat (hDlg, IDD_REPORTOPTIONSINTERVAL, NULL) ;
-
- if (eIntervalMSec > MAX_INTERVALSEC ||
- eIntervalMSec < MIN_INTERVALSEC)
- {
- DlgErrorBox (hDlg, ERR_BADTIMEINTERVAL) ;
- SetFocus (DialogControl (hDlg, IDD_REPORTOPTIONSINTERVAL)) ;
- EditSetTextEndPos (hDlg, IDD_REPORTOPTIONSINTERVAL) ;
- return (FALSE) ;
- break ;
- }
- eIntervalMSec = eIntervalMSec * (FLOAT) 1000.0 +
- (FLOAT) 0.5 ;
-
- iIntervalMSecs = (DWORD) (eIntervalMSec);
- dwCurrentDlgID = 0 ;
- EndDialog (hDlg, 1) ;
- }
- break ;
-
- case IDD_CANCEL:
- dwCurrentDlgID = 0 ;
- EndDialog (hDlg, 0) ;
- break ;
-
- case IDD_REPORTOPTIONSPERIODIC :
- case IDD_REPORTOPTIONSMANUALREFRESH :
-
- // check if the Manual refresh is currently checked.
- // Then toggle the ManualRefresh button
- LocalManualRefresh =
- (wParam == IDD_REPORTOPTIONSMANUALREFRESH) ;
-
- CheckRadioButton(hDlg,
- IDD_REPORTOPTIONSMANUALREFRESH,
- IDD_REPORTOPTIONSPERIODIC,
- LocalManualRefresh ? IDD_REPORTOPTIONSMANUALREFRESH :
- IDD_REPORTOPTIONSPERIODIC ) ;
-
- DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVAL, !LocalManualRefresh) ;
- DialogEnable (hDlg, IDD_REPORTOPTIONSINTERVALTEXT, !LocalManualRefresh) ;
- break ;
-
- case IDD_DISPLAYHELP:
- CallWinHelp (dwCurrentDlgID) ;
- break ;
-
- default:
- bHandled = FALSE ;
- break;
- }
- break;
-
-
- default:
- bHandled = FALSE ;
- break ;
- } // switch
-
- return (bHandled) ;
- } // ReportOptionsDlgProc
-
-
-
-
- BOOL DisplayReportOptions (HWND hWndParent,
- HWND hWndReport)
- { // DisplayReportOptions
- PREPORT pReport ;
-
- pReport = ReportData (hWndParent) ;
-
- if (DialogBoxParam (hInstance, idDlgReportOptions,
- hWndParent, (DLGPROC) ReportOptionsDlgProc,
- (LPARAM) pReport))
- { // if
- pReport->iIntervalMSecs = iIntervalMSecs ;
- if (LocalManualRefresh != pReport->bManualRefresh)
- {
- ToggleReportRefresh (hWndReport) ;
- }
- else
- {
- SetReportTimer (pReport) ;
- }
- } // if
-
- return (TRUE) ;
- } // DisplayReportOptions