summaryrefslogtreecommitdiff
path: root/NSCmpts/BackupSourceProp.h
blob: 8d258bef205874e938f7c1daedfc1efa1eee9225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// BackupSourceProp.h : Declaration of the CBackupSourceProp

#ifndef __BACKUPSOURCEPROP_H_
#define __BACKUPSOURCEPROP_H_

#include "resource.h"       // main symbols

#include "../common/cmptdata.h"
#include <contexthelp.h>

#include "sourceprop.h"


EXTERN_C const CLSID CLSID_BackupSourceProp;

/////////////////////////////////////////////////////////////////////////////
// CBackupSourceProp
class ATL_NO_VTABLE CBackupSourceProp :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CBackupSourceProp, &CLSID_BackupSourceProp>,
	public IPropertyPageImpl<CBackupSourceProp>,

	// Get's most of functionality from here 
	public CSourceProp,
	public CContextHelp<CBackupSourceProp>
{

// Construction
public:
	CBackupSourceProp()
	{
		m_dwTitleID = IDS_TITLEBackupSourceProp;
		m_dwHelpFileID = IDS_NSHELPFILE;
		m_dwDocStringID = IDS_DOCSTRINGBackupSourceProp;
	}
	~CBackupSourceProp()
		{ ATLTRACE(_T("Destroying BackupSourceProp\n")); }


DECLARE_REGISTRY_RESOURCEID(IDR_BACKUPSOURCEPROP)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CBackupSourceProp) 
	COM_INTERFACE_ENTRY(IPropertyPage)
	COM_INTERFACE_ENTRY(IDropTarget)
END_COM_MAP()

BEGIN_MSG_MAP(CBackupSourceProp)
	MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
	CHAIN_MSG_MAP(CSourceProp)
	CHAIN_MSG_MAP(IPropertyPageImpl<CBackupSourceProp>)
	CHAIN_MSG_MAP(CContextHelp<CBackupSourceProp>)
END_MSG_MAP()

BEGIN_HELP_MAP(NS_HELP_FILE)
	HELP_ID(IDC_SOURCE_LIST, 4007)
	HELP_ID(IDC_ADD, 4001)
	HELP_ID(IDC_REMOVE, 4006)
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);

	STDMETHOD(Apply)(void)
	{
		ATLTRACE(_T("CBackupSourceProp::Apply\n"));

		m_Data.Initialize(m_nObjects, m_ppUnk);

		if(!m_Data.IsInitialized())
			return E_FAIL;

		UpdateData(true);

		m_Data.WriteStringSet(NS_BACKUP_REG_SOURCE, m_aPaths);

		m_bDirty = FALSE;
		return S_OK;
	}

protected:
	CPropertyBag	m_Data;

};

#endif //__BACKUPSOURCEPROP_H_