#if !defined(AFX_PANELLEVELS_H__90CBA234_D209_11D2_BB49_00E029219C3C__INCLUDED_)
#define AFX_PANELLEVELS_H__90CBA234_D209_11D2_BB49_00E029219C3C__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// PanelLevels.h : header file
//

#include "Panel.h"
#include "util.h"

/////////////////////////////////////////////////////////////////////////////
// CListLevels window

class CListLevels : public CListBox
{
// Construction
public:
	CListLevels();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CListLevels)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CListLevels();

	// Generated message map functions
protected:
	//{{AFX_MSG(CListLevels)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};


/////////////////////////////////////////////////////////////////////////////
// CPanelLevels dialog

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

// Dialog Data
	//{{AFX_DATA(CPanelLevels)
	enum { IDD = IDD_DIALOG_Levels };
	CButton	m_CheckAutoTest;
	CButton	m_CheckStopOnError;
	CListBox	m_ListLevels;
	//}}AFX_DATA

	virtual BOOL Create( CWnd* pParentWnd );
	virtual void m_fn_vUpdateRegistry();
	virtual void m_fn_vLevelListHasChanged( BOOL _bErrorWhileReadingGameDsc );

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

// Implementation
protected:
	///CByteArray  m_oSelectedLevels;

	// To display a cross in front of selected levels.
	CDC         m_oCrossDC;
	CBitmap     m_oCrossBitmap;
	CBitmap     m_oEmptyBoxBitmap;

	// Generated message map functions
	//{{AFX_MSG(CPanelLevels)
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
	afx_msg void OnSelectAllLevels();
	afx_msg void OnClearAllLevels();
	afx_msg void OnBinarize();
	afx_msg void OnCHECKAutoTest();
	afx_msg void OnTestMaps();
	afx_msg void OnBUTTONRefreshLevelList();
	afx_msg void OnCHECKStopOnError();
	afx_msg void OnBUTTONEditGameDsc();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	BOOL m_fn_bOnLButtonDownListBoxLevels( MSG *pMsg );
	BOOL m_fn_bOnKeyDownListBoxLevels( MSG *pMsg );
	void m_fn_vOnDrawItemListBoxLevels( LPDRAWITEMSTRUCT lpDIS );
	virtual void OnOk();
};


/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.


#endif // !defined(AFX_PANELLEVELS_H__90CBA234_D209_11D2_BB49_00E029219C3C__INCLUDED_)


