/////////////////////////////////////////////////////////////////////////////
// CTL_DialogMaskedDataEdition dialog
/////////////////////////////////////////////////////////////////////////////
#ifndef _ED_ACTORS_DIALOG_MASKED_DATA_EDITION_
#define _ED_ACTORS_DIALOG_MASKED_DATA_EDITION_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "CTL_Res.h"
#include <afxtempl.h>

class CTL_Editor_Control;
class CTL_Editor_MaskDescriptor;
class CTL_Editor_Mask;

/////////////////////////////////////////////////////////////////////////////
// CTL_DialogMaskedDataEdition dialog

class CTL_DialogMaskedDataEdition : public CDialog
{
// Construction
public:
	// standard constructor
	CTL_DialogMaskedDataEdition(	CTL_Editor_Control *_pclParentControl,
																		CWnd* _pParent = NULL);  
	
	~CTL_DialogMaskedDataEdition();

// Dialog Data
	//{{AFX_DATA(CTL_DialogMaskedDataEdition)
	enum { IDD = IDD_CAR_D_EDIT_MASKED_DATA };
	CString	m_csDataName;
	//}}AFX_DATA

private:

	HINSTANCE hOldInstance;

	CTL_Editor_Control *m_pri_pclParentControl;
	CTL_Editor_MaskDescriptor *m_pri_pclMaskDescriptor;

	struct m_pri_stMaskInListBox
	{
	 CButton *st_m_pclButton;
	 CTL_Editor_Mask *st_m_Mask;
	 BOOL st_m_MaskIsOn;
	};

	CList<struct m_pri_stMaskInListBox *, struct m_pri_stMaskInListBox *> m_clListOfMasksInListBox;


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

// Implementation
private:
	BOOL m_pri_fn_bDataHasThisMask(unsigned long _ulMaskValue);
	void m_pri_fn_vSetDataWithMask(unsigned long _ulMaskValue, BOOL _bMaskOn);

protected:

	// Generated message map functions
	//{{AFX_MSG(CTL_DialogMaskedDataEdition)
	virtual void OnOK();
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
	virtual BOOL OnInitDialog();
	afx_msg void OnButtonAllMasks();
	afx_msg void OnButtonNoMask();
	afx_msg void OnButtonInvertMasks();
	afx_msg void OnDestroy();
	virtual void OnCancel();
	//}}AFX_MSG

	
	DECLARE_MESSAGE_MAP()
};


#endif // _ED_ACTORS_DIALOG_MASKED_DATA_EDITION_
