windows-nt/Source/XPSP1/NT/base/cluster/admin/cluadmin/grpwiz.h
2020-09-26 16:20:57 +08:00

239 lines
6 KiB
C++

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996 Microsoft Corporation
//
// Module Name:
// GrpWiz.h
//
// Abstract:
// Definition of the CCreateGroupWizard class and all pages specific
// to a group wizard.
//
// Implementation File:
// GrpWiz.cpp
//
// Author:
// David Potter (davidp) July 22, 1996
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _GRPWIZ_H_
#define _GRPWIZ_H_
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
#ifndef _BASEWIZ_H_
#include "BaseWiz.h" // for CBaseWizard
#endif
#ifndef _BASEWPAG_H_
#include "BaseWPag.h" // for CBaseWizardPage
#endif
#ifndef _LCPRPAGE_H_
#include "LCPrWPag.h" // for CListCtrlPairWizPage
#endif
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CNewGroupNamePage;
class CCreateGroupWizard;
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CGroup;
class CClusterDoc;
/////////////////////////////////////////////////////////////////////////////
// CNewGroupNamePage property page
/////////////////////////////////////////////////////////////////////////////
class CNewGroupNamePage : public CBaseWizardPage
{
DECLARE_DYNCREATE(CNewGroupNamePage)
// Construction
public:
CNewGroupNamePage(void);
// Dialog Data
//{{AFX_DATA(CNewGroupNamePage)
enum { IDD = IDD_WIZ_GROUP_NAME };
CEdit m_editDesc;
CEdit m_editName;
CString m_strName;
CString m_strDesc;
//}}AFX_DATA
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CNewGroupNamePage)
public:
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
virtual BOOL BApplyChanges(void);
// Implementation
protected:
CCreateGroupWizard * PwizGroup(void) const { return (CCreateGroupWizard *) Pwiz(); }
// Generated message map functions
//{{AFX_MSG(CNewGroupNamePage)
afx_msg void OnChangeGroupName();
afx_msg void OnKillFocusGroupName();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; //*** class CNewGroupNamePage
/////////////////////////////////////////////////////////////////////////////
// CNewGroupOwnersPage dialog
/////////////////////////////////////////////////////////////////////////////
class CNewGroupOwnersPage : public CListCtrlPairWizPage
{
DECLARE_DYNCREATE(CNewGroupOwnersPage)
// Construction
public:
CNewGroupOwnersPage(void);
// Dialog Data
//{{AFX_DATA(CNewGroupOwnersPage)
enum { IDD = IDD_WIZ_PREFERRED_OWNERS };
CStatic m_staticNote;
//}}AFX_DATA
// Callback functions
static void CALLBACK GetColumn(
IN OUT CObject * pobj,
IN int iItem,
IN int icol,
IN OUT CDialog * pdlg,
OUT CString & rstr,
OUT int * piimg
);
static BOOL CALLBACK BDisplayProperties(IN OUT CObject * pobj);
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CNewGroupOwnersPage)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
virtual BOOL BApplyChanges(void);
// Implementation
protected:
CCreateGroupWizard * PwizGroup(void) const { return (CCreateGroupWizard *) Pwiz(); }
CGroup * PciGroup(void) const;
BOOL BInitLists(void);
// Generated message map functions
//{{AFX_MSG(CNewGroupOwnersPage)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; //*** class CNewGroupOwnersPage
/////////////////////////////////////////////////////////////////////////////
// CCreateGroupWizard
/////////////////////////////////////////////////////////////////////////////
class CCreateGroupWizard : public CBaseWizard
{
friend class CNewGroupNamePage;
friend class CNewGroupOwnersPage;
DECLARE_DYNAMIC(CCreateGroupWizard)
// Construction
public:
CCreateGroupWizard(IN OUT CClusterDoc * pdoc, IN OUT CWnd * pParentWnd);
BOOL BInit(void);
// Attributes
protected:
CWizPage m_rgpages[2];
CClusterDoc * m_pdoc;
CString m_strName;
CString m_strDescription;
CStringList m_lstrPreferredOwners;
public:
CClusterDoc * Pdoc(void) const { return m_pdoc; }
const CString & StrName(void) const { return m_strName; }
const CString & StrDescription(void) const { return m_strDescription; }
const CStringList & LstrPreferredOwners(void) const { return m_lstrPreferredOwners; }
// Operations
public:
BOOL BSetName(IN const CString & rstrName);
BOOL BSetDescription(IN const CString & rstrDescription);
// Overrides
protected:
virtual void OnCancel(void);
virtual CWizPage * Ppages(void);
virtual int Cpages(void);
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCreateGroupWizard)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CCreateGroupWizard(void);
protected:
CNewGroupNamePage m_pageName;
CNewGroupOwnersPage m_pageOwners;
CStringList m_lstrAllNodes;
CGroup * m_pciGroup;
BOOL m_bCreated;
const CStringList & LstrAllNodes(void) const { return m_lstrAllNodes; }
CGroup * PciGroup(void) const { return m_pciGroup; }
BOOL BCreated(void) const { return m_bCreated; }
// Generated message map functions
protected:
//{{AFX_MSG(CCreateGroupWizard)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; //*** class CCreateGroupWizard
/////////////////////////////////////////////////////////////////////////////
// Inline Function Definitions
/////////////////////////////////////////////////////////////////////////////
inline CGroup * CNewGroupOwnersPage::PciGroup(void) const
{
ASSERT_VALID(PwizGroup());
return PwizGroup()->PciGroup();
}
/////////////////////////////////////////////////////////////////////////////
#endif // _GRPWIZ_H_