// ClassInfoDlg_TreeIcons_Chooser.h : header file
//
#if !defined(_CLASSINFODLG_TREEICONS_CHOOSER_H_)
#define _CLASSINFODLG_TREEICONS_CHOOSER_H_

//#include <string>

//using namespace std;

#include "cmString.h"

/////////////////////////////////////////////////////////////////////////////
// CClassInfoDlg_TreeIcons_Chooser dialog
class CXmlProject;

class CClassInfoDlg_TreeIcons_Chooser : public CDialog
{
// Construction
public:
	CClassInfoDlg_TreeIcons_Chooser(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CClassInfoDlg_TreeIcons_Chooser)
	enum { IDD = IDD_CLASSINFO_TREEICONS_CHOOSER };
	CButton	cmdChoose_;
	CButton	chkEnable_;
	//}}AFX_DATA

	// properties
	//
public:
	void SetLabel(const cmString& label);
	cmString GetLabel() const;

	void SetIconFileName(const cmString& iconFileName);
	cmString GetIconFileName() const;

	void SetEnabled(bool enabled);
	bool GetEnabled() const;

	void SetProject(CXmlProject* project);

	void SetIconHandle(HICON hIcon_);
	HICON GetIconHandle() const;

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CClassInfoDlg_TreeIcons_Chooser)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CClassInfoDlg_TreeIcons_Chooser)
	afx_msg void OnPaint();
	afx_msg void OnChkEnable();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	virtual BOOL OnInitDialog();
	afx_msg void OnCmdChoose();
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP();

	void UpdateWindowSize();
	void UpdateControls();

	cmString label_;
	cmString iconFileName_;
	bool enabled_;
	bool initialized_;

	CXmlProject* project_;
	CBrush chkBrush_;
	CRect lblRect_;

	HICON hIcon_;
};

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

#endif // !defined(_CLASSINFODLG_TREEICONS_CHOOSER_H_)
