diff options
Diffstat (limited to 'NSCmpts/BackupAdvancedProp.h')
-rw-r--r-- | NSCmpts/BackupAdvancedProp.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/NSCmpts/BackupAdvancedProp.h b/NSCmpts/BackupAdvancedProp.h new file mode 100644 index 0000000..5f1fa49 --- /dev/null +++ b/NSCmpts/BackupAdvancedProp.h @@ -0,0 +1,100 @@ +// BackupAdvancedProp.h : Declaration of the CBackupAdvancedProp + +#ifndef __BACKUPADVANCEDPROP_H_ +#define __BACKUPADVANCEDPROP_H_ + +#include "resource.h" // main symbols +#include <atlctrls.h> +#include "../common/CmptData.h" +#include "IgnoreProp.h" +#include <atlextra.h> +#include <contexthelp.h> + +EXTERN_C const CLSID CLSID_BackupAdvancedProp; + +///////////////////////////////////////////////////////////////////////////// +// CBackupAdvancedProp +class ATL_NO_VTABLE CBackupAdvancedProp : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CBackupAdvancedProp, &CLSID_BackupAdvancedProp>, + public IPropertyPageImpl<CBackupAdvancedProp>, + public CDialogImplEx, + public CIgnoreProp, + public CContextHelp<CBackupAdvancedProp> +{ +// 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<CBackupAdvancedProp>) + CHAIN_MSG_MAP(CContextHelp<CBackupAdvancedProp>) +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_ |