// BackupAdvancedProp.h : Declaration of the CBackupAdvancedProp #ifndef __BACKUPADVANCEDPROP_H_ #define __BACKUPADVANCEDPROP_H_ #include "resource.h" // main symbols #include #include "../common/CmptData.h" #include "IgnoreProp.h" #include #include EXTERN_C const CLSID CLSID_BackupAdvancedProp; ///////////////////////////////////////////////////////////////////////////// // CBackupAdvancedProp class ATL_NO_VTABLE CBackupAdvancedProp : public CComObjectRootEx, public CComCoClass, public IPropertyPageImpl, public CDialogImplEx, public CIgnoreProp, public CContextHelp { // Construction public: CBackupAdvancedProp() : CIgnoreProp(m_Data), CDialogImplEx(IDD) { m_dwTitleID = IDS_TITLEBackupAdvancedProp; m_dwHelpFileID = IDS_NSHELPFILE; m_dwDocStringID = IDS_DOCSTRINGBackupAdvancedProp; } ~CBackupAdvancedProp() { ATLTRACE(_T("Destroying BackupAdvancedProp\n")); } enum {IDD = IDD_BACKUPADVANCED}; DECLARE_REGISTRY_RESOURCEID(IDR_BACKUPADVANCEDPROP) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CBackupAdvancedProp) COM_INTERFACE_ENTRY(IPropertyPage) END_COM_MAP() BEGIN_MSG_MAP(CBackupAdvancedProp) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) MESSAGE_HANDLER(WM_DESTROY, OnDestroy) NOTIFY_HANDLER(IDC_IGNORE_LIST, LVN_ENDLABELEDIT, OnEndLabelEdit) NOTIFY_HANDLER(IDC_IGNORE_LIST, NM_SETFOCUS, OnListSetFocus) NOTIFY_HANDLER(IDC_IGNORE_LIST, LVN_KEYDOWN, OnKeyDown) COMMAND_ID_HANDLER(IDC_NEW, OnAdd) COMMAND_ID_HANDLER(IDC_DEL, OnRemove) CHAIN_MSG_MAP(IPropertyPageImpl) CHAIN_MSG_MAP(CContextHelp) END_MSG_MAP() BEGIN_HELP_MAP(NS_HELP_FILE) HELP_ID(IDC_ENGINE_TYPE, 4002) HELP_ID(IDC_IGNORE_LIST, 4005) HELP_ID(IDC_NEW, 4018) HELP_ID(IDC_DEL, 4017) END_HELP_MAP // Handler prototypes: // LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); // LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); // LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled); LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); STDMETHOD(Apply)(void) { ATLTRACE(_T("CBackupAdvancedProp::Apply\n")); m_Data.Initialize(m_nObjects, m_ppUnk); if(!m_Data.IsInitialized()) E_FAIL; UpdateData(true); m_Data.WriteStringSet(NS_IGNORE_REG_EXT, m_asExtensions); m_Data.WriteString(NS_BACKUP_REG_ENGINE, m_sEngineType); m_bDirty = FALSE; return S_OK; } protected: // Controls for Dialog CComboBox m_ctlEngine; // Data Stuff CPropertyBag m_Data; string m_sEngineType; void UpdateData(bool bSave = true); }; #endif //__BACKUPADVANCEDPROP_H_