// PropertyEditorDlg.h : header file
//
#if !defined(_PROPERTYEDITORDLG_H_)
#define _PROPERTYEDITORDLG_H_

#include "resource.h"
#include "ProjectDoc.h"
#include "BaseDialog.h"

class CXmlBaseElement;

/////////////////////////////////////////////////////////////////////////////
// CPropertyEditorDlg dialog

class CPropertyEditorDlg : public CBaseDialog
{
// Construction
public:
	CPropertyEditorDlg(int idd, CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CPropertyEditorDlg)
	enum { IDD = IDR_MAINFRAME };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

public:
	virtual void SetData(CXmlBaseElement* element) = 0;
	virtual void StoreData() = 0;

	virtual void OnDataUpdate() = 0;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CPropertyEditorDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CPropertyEditorDlg)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP();

protected:
	void UpdateAllViews(enUpdateViewReason reason);
	CProjectDoc* GetDocument();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(_PROPERTYEDITORDLG_H_)
