// BinaryToolDlg.h : header file
//

#if !defined(AFX_BINARYTOOLDLG_H__6B8ECEB0_CC90_11D2_BB42_00E029219C3C__INCLUDED_)
#define AFX_BINARYTOOLDLG_H__6B8ECEB0_CC90_11D2_BB42_00E029219C3C__INCLUDED_

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

#include "Panel.h"

/////////////////////////////////////////////////////////////////////////////
// CBinaryToolDlg dialog

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

// Dialog Data
	//{{AFX_DATA(CBinaryToolDlg)
	enum { IDD = IDD_BINARYTOOL_DIALOG };
	CTabCtrl	m_TabControl;
	//}}AFX_DATA

	void m_fn_vNotifyStartOfWork();
	void m_fn_vNotifyEndOfWork( BOOL _bKeepDisplayResultPanel );
	void m_fn_vCancelStopWorkInProgress();
	BOOL m_fn_bRefreshLevelList();

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBinaryToolDlg)
	public:
	virtual BOOL DestroyWindow();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON     m_hIcon;
	CString   m_csDlgTitle;

	// Generated message map functions
	//{{AFX_MSG(CBinaryToolDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnSelchangeTabPanel(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnQuit();
	afx_msg void OnClose();
	afx_msg void OnStopWorkInProgress();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	// For panels management
	CPanel    *m_a_pPanels[10];
	int       m_iNumberOfPanels;
	int       m_iCurrentPanel;
	int       m_iPanelBeforeStartOfWork;
	int       m_iResultPanel;

	void m_fn_vSetCurrentPanel( int _iNewPanel );
	virtual void OnOK();
};

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

#endif // !defined(AFX_BINARYTOOLDLG_H__6B8ECEB0_CC90_11D2_BB42_00E029219C3C__INCLUDED_)
