508 lines
16 KiB
C++
508 lines
16 KiB
C++
/*======================================================================================//
|
|
| Process Control //
|
|
| //
|
|
|Copyright (c) 1998 Sequent Computer Systems, Incorporated. All rights reserved. //
|
|
| //
|
|
|File Name: ManagementRuleWizards.h //
|
|
| //
|
|
|Description: Implementation of management rule wizards //
|
|
| //
|
|
|Created: Paul Skoglund 09-1998 //
|
|
| //
|
|
|Rev History: //
|
|
| //
|
|
|=======================================================================================*/
|
|
|
|
#ifndef __MANAGEMENTRULEWIZARDS_H__
|
|
#define __MANAGEMENTRULEWIZARDS_H__
|
|
|
|
#include "BaseNode.h"
|
|
#include "ppage.h"
|
|
|
|
|
|
extern bool GetGrpNameList(PCid id, list<tstring> &jobs);
|
|
extern list<tstring> *GetGrpNameList(PCid id);
|
|
|
|
BOOL IsValidName(const CComBSTR &bStr, BOOL nullOK);
|
|
|
|
extern BOOL ProcRuleWizard(int nTitle, const list<tstring> &jobsdefined, PCProcDetail &out, const PCSystemParms &SystemParms, PROC_NAME *procName = NULL);
|
|
extern BOOL GroupRuleWizard(int nTitle, PCJobDetail &out, const PCSystemParms &SystemParms, JOB_NAME *jobName = NULL);
|
|
|
|
class CProcNameWiz :
|
|
public CMySnapInPropertyWizardImpl<CProcNameWiz>
|
|
{
|
|
public :
|
|
CProcNameWiz(WIZ_POSITION pos, int nTitle, PCProcDetail *ProcDetail);
|
|
|
|
~CProcNameWiz();
|
|
|
|
enum { IDD = IDD_PROCNAME_WIZ };
|
|
enum { ID_HeaderTitle = IDS_PROCESSALIAS_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_PROCESSALIAS_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CProcNameWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CProcNameWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
void SetNoNameChange() { m_bNoNameChange = TRUE;}
|
|
|
|
private:
|
|
PCProcDetail *m_pProcDetail;
|
|
BOOL m_bReadOnly;
|
|
BOOL m_bNoNameChange;
|
|
};
|
|
|
|
|
|
class CProcGrpMemberWiz :
|
|
public CMySnapInPropertyWizardImpl<CProcGrpMemberWiz>
|
|
{
|
|
public :
|
|
CProcGrpMemberWiz(WIZ_POSITION pos, int nTitle, PCProcDetail *ProcDetail, const list<tstring> &jobsdefined);
|
|
~CProcGrpMemberWiz();
|
|
|
|
enum { IDD = IDD_PROCJOBMEMBER_WIZ };
|
|
enum { ID_HeaderTitle = IDS_GRPMEM_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_GRPMEM_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CProcGrpMemberWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_HANDLER(IDC_JOBMEMBER_CHK, BN_CLICKED, OnJobChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CProcGrpMemberWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnJobChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
PCProcDetail *m_pProcDetail;
|
|
BOOL m_bReadOnly;
|
|
|
|
const list<tstring> &m_JobsExisting;
|
|
};
|
|
|
|
|
|
class CAffinityWiz :
|
|
public CMySnapInPropertyWizardImpl<CAffinityWiz>
|
|
{
|
|
public :
|
|
CAffinityWiz(WIZ_POSITION pos, int nTitle, PCProcDetail *ProcDetail, AFFINITY ProcessorMask = 0xFFffFFff);
|
|
CAffinityWiz(WIZ_POSITION pos, int nTitle, PCJobDetail *JobDetail, AFFINITY ProcessorMask = 0xFFffFFff);
|
|
|
|
~CAffinityWiz();
|
|
|
|
enum { IDD = IDD_AFFINITY_WIZ };
|
|
enum { ID_HeaderTitle = IDS_AFFINITY_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_AFFINITY_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CAffinityWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_RANGE_HANDLER(IDC_AFFINITY1, IDC_AFFINITY64, OnAffinityEdit)
|
|
COMMAND_HANDLER(IDC_AFFINITY_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CAffinityWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnAffinityEdit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
BOOL OnSetActive();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
typedef enum _PageType
|
|
{
|
|
PROCESS_PAGE,
|
|
JOB_PAGE,
|
|
} PageType;
|
|
PageType m_PageType;
|
|
PCProcDetail *m_pProcDetail;
|
|
PCJobDetail *m_pJobDetail;
|
|
|
|
BOOL m_bReadOnly;
|
|
AFFINITY m_ProcessorMask;
|
|
|
|
void Initialize();
|
|
void ApplyControlEnableRules(BOOL bForceDisable);
|
|
};
|
|
|
|
|
|
class CPriorityWiz :
|
|
public CMySnapInPropertyWizardImpl<CPriorityWiz>
|
|
{
|
|
public :
|
|
CPriorityWiz(WIZ_POSITION pos, int nTitle, PCProcDetail *ProcDetail);
|
|
CPriorityWiz(WIZ_POSITION pos, int nTitle, PCJobDetail *JobDetail);
|
|
|
|
~CPriorityWiz();
|
|
|
|
enum { IDD = IDD_PRIORITY_WIZ };
|
|
enum { ID_HeaderTitle = IDS_PRIORITY_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_PRIORITY_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CPriorityWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_HANDLER(IDC_PRIORITY_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CPriorityWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
BOOL OnSetActive();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
typedef enum _PageType
|
|
{
|
|
PROCESS_PAGE,
|
|
JOB_PAGE,
|
|
} PageType;
|
|
PageType m_PageType;
|
|
PCProcDetail *m_pProcDetail;
|
|
PCJobDetail *m_pJobDetail;
|
|
|
|
BOOL m_bReadOnly;
|
|
|
|
void Initialize();
|
|
void ApplyControlEnableRules(BOOL bForceDisable);
|
|
};
|
|
|
|
|
|
class CJobNameWiz :
|
|
public CMySnapInPropertyWizardImpl<CJobNameWiz>
|
|
{
|
|
public :
|
|
CJobNameWiz(WIZ_POSITION pos, int nTitle, PCJobDetail *JobDetail);
|
|
~CJobNameWiz();
|
|
|
|
enum { IDD = IDD_JOBNAME_WIZ };
|
|
enum { ID_HeaderTitle = IDS_GRPNAME_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_GRPNAME_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CJobNameWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CJobNameWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
void SetNoNameChange() { m_bNoNameChange = TRUE;}
|
|
|
|
private:
|
|
PCJobDetail *m_pJobDetail;
|
|
BOOL m_bReadOnly;
|
|
BOOL m_bNoNameChange;
|
|
};
|
|
|
|
|
|
class CSchedulingClassWiz :
|
|
public CMySnapInPropertyWizardImpl<CSchedulingClassWiz>
|
|
{
|
|
public :
|
|
CSchedulingClassWiz(WIZ_POSITION pos, int nTitle, SCHEDULING_CLASS *sclass, bool *sclasschk);
|
|
|
|
~CSchedulingClassWiz();
|
|
|
|
enum { IDD = IDD_SCHEDULING_CLASS_WIZ };
|
|
enum { ID_HeaderTitle = IDS_SCHEDCLASS_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_SCHEDCLASS_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CSchedulingClassWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_HANDLER(IDC_SCHEDULING_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CSchedulingClassWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_schedClasschk;
|
|
SCHEDULING_CLASS &m_schedClass;
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
|
|
class CWorkingSetWiz :
|
|
public CMySnapInPropertyWizardImpl<CWorkingSetWiz>
|
|
{
|
|
public :
|
|
CWorkingSetWiz(WIZ_POSITION pos, int nTitle, PCProcDetail *ProcDetail);
|
|
CWorkingSetWiz(WIZ_POSITION pos, int nTitle, PCJobDetail *JobDetail);
|
|
|
|
~CWorkingSetWiz();
|
|
|
|
enum { IDD = IDD_MEMORY_WS_WIZ };
|
|
enum { ID_HeaderTitle = IDS_WSET_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_WSET_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CWorkingSetWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
NOTIFY_HANDLER (IDC_MINWS_SPIN, UDN_DELTAPOS, OnSpin)
|
|
NOTIFY_HANDLER (IDC_MAXWS_SPIN, UDN_DELTAPOS, OnSpin)
|
|
COMMAND_HANDLER(IDC_WORKINGSET_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CWorkingSetWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnSpin(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
BOOL OnSetActive();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
PCProcDetail *m_pProcDetail;
|
|
PCJobDetail *m_pJobDetail;
|
|
|
|
BOOL m_bReadOnly;
|
|
|
|
void Initialize();
|
|
void ApplyControlEnableRules(BOOL bForceDisable);
|
|
};
|
|
|
|
|
|
class CCommittedMemoryWiz :
|
|
public CMySnapInPropertyWizardImpl<CCommittedMemoryWiz>
|
|
{
|
|
public :
|
|
CCommittedMemoryWiz(WIZ_POSITION pos, int nTitle, MEMORY_VALUE *procmemorylimit, bool *procmemorylimitchk, MEMORY_VALUE *jobmemorylimit, bool *jobmemorylimitchk);
|
|
|
|
~CCommittedMemoryWiz();
|
|
|
|
enum { IDD = IDD_MEMORY_COMMIT_WIZ };
|
|
enum { ID_HeaderTitle = IDS_CMEM_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_CMEM_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CCommittedMemoryWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
NOTIFY_HANDLER (IDC_PROC_SPIN, UDN_DELTAPOS, OnSpin)
|
|
NOTIFY_HANDLER (IDC_JOB_SPIN, UDN_DELTAPOS, OnSpin)
|
|
COMMAND_HANDLER(IDC_PROCMEMORY_CHK, BN_CLICKED, OnChk)
|
|
COMMAND_HANDLER(IDC_JOBMEMORY_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CCommittedMemoryWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnSpin(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_procmemorylimitchk;
|
|
MEMORY_VALUE &m_procmemorylimit;
|
|
|
|
bool &m_jobmemorylimitchk;
|
|
MEMORY_VALUE &m_jobmemorylimit;
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
|
|
class CProcCountWiz :
|
|
public CMySnapInPropertyWizardImpl<CProcCountWiz>
|
|
{
|
|
public :
|
|
CProcCountWiz(WIZ_POSITION pos, int nTitle, PROC_COUNT *processcount, bool *processcountchk);
|
|
|
|
~CProcCountWiz();
|
|
|
|
enum { IDD = IDD_PROC_COUNT_WIZ };
|
|
enum { ID_HeaderTitle = IDS_PROCCOUNT_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_PROCCOUNT_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CProcCountWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_HANDLER(IDC_PROCESSCOUNT_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CProcCountWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_processcountchk;
|
|
PROC_COUNT &m_processcount;
|
|
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
|
|
class CTimeWiz :
|
|
public CMySnapInPropertyWizardImpl<CTimeWiz>
|
|
{
|
|
public :
|
|
CTimeWiz(WIZ_POSITION pos, int nTitle, TIME_VALUE *procusertime, bool *procusertimechk, TIME_VALUE *jobusertime, bool *jobusertimechk, bool *jobmsgontimelimit);
|
|
|
|
~CTimeWiz();
|
|
|
|
enum { IDD = IDD_TIME_WIZ };
|
|
enum { ID_HeaderTitle = IDS_CPUTIME_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_CPUTIME_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CTimeWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
COMMAND_HANDLER(IDC_PROCUSERTIME_CHK, BN_CLICKED, OnChk)
|
|
COMMAND_HANDLER(IDC_JOBUSERTIME_CHK, BN_CLICKED, OnChk)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CTimeWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnChk(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_procusertimechk;
|
|
TIME_VALUE &m_procusertime;
|
|
|
|
bool &m_jobusertimechk;
|
|
TIME_VALUE &m_jobusertime;
|
|
bool &m_jobmsgontimelimit;
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
|
|
class CAdvancedWiz :
|
|
public CMySnapInPropertyWizardImpl<CAdvancedWiz>
|
|
{
|
|
public :
|
|
CAdvancedWiz(WIZ_POSITION pos, int nTitle, bool *endjob, bool *unhandledexcept);
|
|
|
|
~CAdvancedWiz();
|
|
|
|
enum { IDD = IDD_ADVANCED_WIZ };
|
|
enum { ID_HeaderTitle = IDS_ADVANCED_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_ADVANCED_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CAdvancedWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CAdvancedWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_endjob;
|
|
bool &m_unhandledexcept;
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
class CAdvBreakawayWiz :
|
|
public CMySnapInPropertyWizardImpl<CAdvBreakawayWiz>
|
|
{
|
|
public :
|
|
CAdvBreakawayWiz(WIZ_POSITION pos, int nTitle, bool *breakaway, bool *silentbreakaway);
|
|
|
|
~CAdvBreakawayWiz();
|
|
|
|
enum { IDD = IDD_ADV_BREAKAWAY_WIZ};
|
|
enum { ID_HeaderTitle = IDS_ADV_BREAKAWAY_HDRTITLE };
|
|
enum { ID_HeaderSubTitle = IDS_ADV_BREAKAWAY_HDRSUBTITLE };
|
|
|
|
BEGIN_MSG_MAP(CAdvBreakawayWiz)
|
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
|
MESSAGE_HANDLER(WM_HELP, OnWMHelp)
|
|
CHAIN_MSG_MAP(CMySnapInPropertyWizardImpl<CAdvBreakawayWiz>)
|
|
END_MSG_MAP()
|
|
|
|
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
LRESULT OnWMHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
|
|
|
|
BOOL Validate(BOOL bSave = FALSE);
|
|
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
|
|
BOOL OnWizardNext();
|
|
|
|
void SetReadOnly() { m_bReadOnly = TRUE;}
|
|
|
|
private:
|
|
bool &m_breakaway;
|
|
bool &m_silentbreakaway;
|
|
|
|
BOOL m_bReadOnly;
|
|
};
|
|
|
|
|
|
|
|
#endif //ifdef __MANAGEMENTRULEWIZARDS_H__
|