244 lines
5.9 KiB
C++
244 lines
5.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1996-1997 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// BarfDlg.h
|
|
//
|
|
// Abstract:
|
|
// Definition of the Basic Artifical Resource Failure dialog classes.
|
|
//
|
|
// Implementation File:
|
|
// BarfDlg.cpp
|
|
//
|
|
// Author:
|
|
// David Potter (davidp) April 11, 1997
|
|
//
|
|
// Revision History:
|
|
//
|
|
// Notes:
|
|
// This file compiles only in _DEBUG mode.
|
|
//
|
|
// To implement a new BARF type, declare a global instance of CBarf:
|
|
// CBarf g_barfMyApi(_T("My API"));
|
|
//
|
|
// To bring up the BARF dialog:
|
|
// DoBarfDialog();
|
|
// This brings up a modeless dialog with the BARF settings.
|
|
//
|
|
// A few functions are provided for special circumstances.
|
|
// Usage of these should be fairly limited:
|
|
// BarfAll(void); Top Secret -> NYI.
|
|
// EnableBarf(BOOL); Allows you to disable/reenable BARF.
|
|
// FailOnNextBarf; Force the next failable call to fail.
|
|
//
|
|
// NOTE: Your code calls the standard APIs (e.g. LoadIcon) and the
|
|
// BARF files do the rest.
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _BARFDLG_H_
|
|
#define _BARFDLG_H_
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Forward Class Declarations
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CBarfDialog;
|
|
class CBarfAllDialog;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// External Class Declarations
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CBarf;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Include Files
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// class CBarfDialog
|
|
//
|
|
// Purpose:
|
|
// Implements the BARF Settings dialog
|
|
//
|
|
// Usage:
|
|
// Use the constructor, then Create().
|
|
// Update() is called by CBarf::BFail() to indicate
|
|
// one of the current counts has changed.
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#ifdef _DEBUG
|
|
|
|
class CBarfDialog : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CBarfDialog(void);
|
|
BOOL Create(CWnd * pParentWnd = NULL);
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CBarfDialog)
|
|
enum { IDD = IDD_BARF_SETTINGS };
|
|
CButton m_ckbGlobalEnable;
|
|
CButton m_ckbDisable;
|
|
CButton m_ckbContinuous;
|
|
CListCtrl m_lcCategories;
|
|
DWORD m_nFailAt;
|
|
BOOL m_bContinuous;
|
|
BOOL m_bDisable;
|
|
BOOL m_bGlobalEnable;
|
|
//}}AFX_DATA
|
|
// CButton m_ckbGlobalEnable;
|
|
// CButton m_ckbDisable;
|
|
// CButton m_ckbContinuous;
|
|
// CListCtrl m_lcCategories;
|
|
// DWORD m_nFailAt;
|
|
// BOOL m_bContinuous;
|
|
// BOOL m_bDisable;
|
|
// BOOL m_bGlobalEnable;
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CBarfDialog)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
virtual void PostNcDestroy();
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
private:
|
|
static CBarfDialog * s_pdlg;
|
|
static HICON s_hicon;
|
|
|
|
protected:
|
|
CBarf * m_pbarfSelected;
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CBarfDialog)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnResetCurrentCount();
|
|
afx_msg void OnResetAllCounts();
|
|
afx_msg void OnGlobalEnable();
|
|
afx_msg void OnItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnStatusChange();
|
|
afx_msg void OnClose();
|
|
//}}AFX_MSG
|
|
virtual void OnCancel();
|
|
afx_msg LRESULT OnBarfUpdate(WPARAM wparam, LPARAM lparam);
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
// virtual LRESULT LDlgProc(UINT, WPARAM, LPARAM);
|
|
|
|
// void GetSelection(void);
|
|
// void OnGlobalEnable(void);
|
|
// void OnResetAllCounts(void);
|
|
// void OnSelectionChange(void);
|
|
// void OnStatusChange(IN BOOL bReset);
|
|
|
|
// void FormatBarfString(CBarf *, CString * pstr);
|
|
void FillList(void);
|
|
|
|
static void PostUpdate(void);
|
|
|
|
public:
|
|
static CBarfDialog * Pdlg() { return s_pdlg; }
|
|
void OnUpdate(void);
|
|
|
|
}; //*** class CBarfDialog
|
|
|
|
#endif // _DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// class CBarfAllDialog
|
|
//
|
|
// Purpose:
|
|
// Implements the Barf Everything dialog.
|
|
//
|
|
// Usage:
|
|
// Similar to most Modal dialogs: Construct, then do dlg.DoModal()
|
|
// In addition, the methods Hwnd(), Wm(), Wparam() and Lparam()
|
|
// can be called when the dialog is dismissed (only if DoModal()
|
|
// returns IDOK).
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#ifdef _DEBUG
|
|
|
|
class CBarfAllDialog : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CBarfAllDialog(IN OUT CWnd * pParent);
|
|
|
|
protected:
|
|
// Dialog Data
|
|
//{{AFX_DATA(CBarfAllDialog)
|
|
enum { IDD = IDD_BARF_ALL_SETTINGS };
|
|
CEdit m_editLparam;
|
|
CEdit m_editWparam;
|
|
CEdit m_editWm;
|
|
CEdit m_editHwnd;
|
|
//}}AFX_DATA
|
|
HWND m_hwndBarf;
|
|
UINT m_wmBarf;
|
|
WPARAM m_wparamBarf;
|
|
LPARAM m_lparamBarf;
|
|
|
|
public:
|
|
HWND HwndBarf(void) { return m_hwndBarf; }
|
|
UINT WmBarf(void) { return m_wmBarf; }
|
|
WPARAM WparamBarf(void) { return m_wparamBarf; }
|
|
LPARAM LparamBarf(void) { return m_lparamBarf; }
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CBarfAllDialog)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CBarfAllDialog)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnMenuItem();
|
|
virtual void OnOK();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
// virtual void OnButton(ID id);
|
|
// virtual void OnOK(void);
|
|
|
|
}; //*** class CBarfAllDialog
|
|
|
|
#endif // _DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Global Functions and Data
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifdef _DEBUG
|
|
|
|
void DoBarfDialog(void);
|
|
void BarfAll(void);
|
|
|
|
#else
|
|
|
|
inline void DoBarfDialog(void) { }
|
|
inline void BarfAll(void) { }
|
|
|
|
#endif // _DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#endif // _BARFDLG_H_
|