Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
4.0 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // BaseWiz.h
  7. //
  8. // Abstract:
  9. // Definition of the CBaseWizard class.
  10. //
  11. // Implementation File:
  12. // BaseWiz.cpp
  13. //
  14. // Author:
  15. // David Potter (davidp) July 23, 1996
  16. //
  17. // Revision History:
  18. //
  19. // Notes:
  20. //
  21. /////////////////////////////////////////////////////////////////////////////
  22. #ifndef _BASEWIZ_H_
  23. #define _BASEWIZ_H_
  24. /////////////////////////////////////////////////////////////////////////////
  25. // Include Files
  26. /////////////////////////////////////////////////////////////////////////////
  27. #ifndef _BASESHT_H_
  28. #include "BaseSht.h" // for CBaseSheet
  29. #endif
  30. /////////////////////////////////////////////////////////////////////////////
  31. // Forward Class Declarations
  32. /////////////////////////////////////////////////////////////////////////////
  33. struct CWizPage;
  34. class CBaseWizard;
  35. /////////////////////////////////////////////////////////////////////////////
  36. // External Class Declarations
  37. /////////////////////////////////////////////////////////////////////////////
  38. class CBaseWizardPage;
  39. class CClusterItem;
  40. /////////////////////////////////////////////////////////////////////////////
  41. // CWizPage
  42. /////////////////////////////////////////////////////////////////////////////
  43. struct CWizPage
  44. {
  45. CBaseWizardPage * m_pwpage;
  46. DWORD m_dwWizButtons;
  47. }; //*** struct CWizPage
  48. /////////////////////////////////////////////////////////////////////////////
  49. // CBaseWizard
  50. /////////////////////////////////////////////////////////////////////////////
  51. class CBaseWizard : public CBaseSheet
  52. {
  53. DECLARE_DYNAMIC(CBaseWizard)
  54. // Construction
  55. public:
  56. CBaseWizard(
  57. IN UINT nIDCaption,
  58. IN OUT CWnd * pParentWnd = NULL,
  59. IN UINT iSelectPage = 0
  60. );
  61. virtual ~CBaseWizard( void )
  62. {
  63. } //*** ~CBaseWizard( )
  64. BOOL BInit( IN IIMG iimgIcon );
  65. // Attributes
  66. CWizPage * PwizpgFromPwpage( IN const CBaseWizardPage & rwpage );
  67. // Operations
  68. public:
  69. void LoadExtensions( IN OUT CClusterItem * pci );
  70. void SetWizardButtons( IN const CBaseWizardPage & rwpage );
  71. void SetWizardButtons( DWORD dwFlags )
  72. {
  73. CBaseSheet::SetWizardButtons( dwFlags );
  74. } //*** SetWizardButtons( )
  75. void EnableNext(
  76. IN const CBaseWizardPage & rwpage,
  77. IN BOOL bEnable = TRUE
  78. );
  79. // Overrides
  80. public:
  81. virtual INT_PTR DoModal( void );
  82. virtual void AddExtensionPages(
  83. IN const CStringList * plstrExtensions,
  84. IN OUT CClusterItem * pci
  85. );
  86. virtual HRESULT HrAddPage( IN OUT HPROPSHEETPAGE hpage );
  87. virtual void OnWizardFinish( void );
  88. virtual void OnCancel( void );
  89. virtual CWizPage * Ppages( void ) = 0;
  90. virtual int Cpages( void ) = 0;
  91. // ClassWizard generated virtual function overrides
  92. //{{AFX_VIRTUAL(CBaseWizard)
  93. public:
  94. virtual BOOL OnInitDialog();
  95. //}}AFX_VIRTUAL
  96. // Implementation
  97. protected:
  98. CClusterItem * m_pci;
  99. CHpageList m_lhpage;
  100. BOOL m_bNeedToLoadExtensions;
  101. public:
  102. CClusterItem * Pci( void ) const { return m_pci; }
  103. CHpageList & Lhpage( void ) { return m_lhpage; }
  104. BOOL BNeedToLoadExtensions( void ) const { return m_bNeedToLoadExtensions; }
  105. // Generated message map functions
  106. protected:
  107. //{{AFX_MSG(CBaseWizard)
  108. //}}AFX_MSG
  109. DECLARE_MESSAGE_MAP()
  110. }; //*** class CBaseWizard
  111. /////////////////////////////////////////////////////////////////////////////
  112. #endif // _BASEWIZ_H_