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