diff options
Diffstat (limited to 'NSCmpts/BackupDestProp.h')
-rw-r--r-- | NSCmpts/BackupDestProp.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/NSCmpts/BackupDestProp.h b/NSCmpts/BackupDestProp.h new file mode 100644 index 0000000..0c7e1ee --- /dev/null +++ b/NSCmpts/BackupDestProp.h @@ -0,0 +1,89 @@ +// BackupDestProp.h : Declaration of the CBackupDestProp + +#ifndef __BACKUPDESTPROP_H_ +#define __BACKUPDESTPROP_H_ + +#include "resource.h" // main symbols +#include "../common/cmptdata.h" +#include <contexthelp.h> + +EXTERN_C const CLSID CLSID_BackupDestProp; + +///////////////////////////////////////////////////////////////////////////// +// CBackupDestProp +class ATL_NO_VTABLE CBackupDestProp : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CBackupDestProp, &CLSID_BackupDestProp>, + public IPropertyPageImpl<CBackupDestProp>, + public CDialogImplEx, + public CContextHelp<CBackupDestProp> +{ +// Construction +public: + CBackupDestProp() : CDialogImplEx(IDD) + { + m_dwTitleID = IDS_TITLEBackupDestProp; + m_dwHelpFileID = IDS_NSHELPFILE; + m_dwDocStringID = IDS_DOCSTRINGBackupDestProp; + } + ~CBackupDestProp() + { ATLTRACE(_T("Destroying BackupDestProp\n")); } + + enum {IDD = IDD_BACKUPDEST}; + +DECLARE_REGISTRY_RESOURCEID(IDR_BACKUPDESTPROP) + +DECLARE_PROTECT_FINAL_CONSTRUCT() + +BEGIN_COM_MAP(CBackupDestProp) + COM_INTERFACE_ENTRY(IPropertyPage) +END_COM_MAP() + +BEGIN_MSG_MAP(CBackupDestProp) + MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) + MESSAGE_HANDLER(WM_DESTROY, OnDestroy) + COMMAND_ID_HANDLER(IDC_BROWSE, OnBrowse) + CHAIN_MSG_MAP(IPropertyPageImpl<CBackupDestProp>) + CHAIN_MSG_MAP(CContextHelp<CBackupDestProp>) +END_MSG_MAP() + +BEGIN_HELP_MAP(NS_HELP_FILE) + HELP_ID(IDC_DEST, 4004) + HELP_ID(IDC_BROWSE, 4003) +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); + LRESULT OnBrowse(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); + + STDMETHOD(Apply)(void) + { + // Get text from Control first if poss + if(IsWindow()) + { + GetDlgItemText(IDC_DEST, m_sPath.get_buffer(MAX_PATH), MAX_PATH); + m_sPath.release_buffer(); + } + + if(!m_Data.IsInitialized()) + m_Data.Initialize(m_nObjects, m_ppUnk); + + if(!m_Data.IsInitialized()) + return E_FAIL; + + m_Data.WriteString(NS_BACKUP_REG_DEST, m_sPath); + m_bDirty = FALSE; + return S_OK; + } + +protected: + CPropertyBag m_Data; + string m_sPath; +}; + +#endif //__BACKUPDESTPROP_H_ |