summaryrefslogtreecommitdiff
path: root/NSCmpts/BackupDestProp.h
diff options
context:
space:
mode:
Diffstat (limited to 'NSCmpts/BackupDestProp.h')
-rw-r--r--NSCmpts/BackupDestProp.h89
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_