/*
 =======================================================================================
  Name        : ChkDataDlg.h
 
  Author      : vincent lhullier            Date :09/09/97
 
  Description : main dialgo box
 =======================================================================================
 */

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#if !defined(AFX_CHKDATADLG_H__51552988_281B_11D1_8F25_00609736731A__INCLUDED_)
#define AFX_CHKDATADLG_H__51552988_281B_11D1_8F25_00609736731A__INCLUDED_
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

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

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#include "ProgBar.h"
#include "Scr_fct.h"

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/*
 =======================================================================================
	CChkDataDlg dialog box 
 =======================================================================================
 */
class CChkDataDlg : public CDialog
{
  // data members
  private:
    HICON				m_hIcon;

	CBitmap				m_hBtRougeBmp;
	CBitmap				m_hBtVertBmp;

	long				m_lNumberOfFiles;
	
	/* ==> dialog control */
	CMyProgressBar		m_oProgress;
	CListBox			*m_p_oLBFiles;
	CListBox			*m_p_oLBFileType;
	CListBox			*m_p_oLBSectionType;
	CListBox			*m_p_oLBEntry;
	CListBox			*m_p_oLBBadRef;
	CListBox			*m_p_oLBSectionWithBadRef;
	CButton				*m_a_poBtParam[ 20 ];

	SCR_tdst_Link_Value	*m_p_stCurrentSectionType;
	tdstEntry			*m_p_stCurrentEntry;
	SCR_tdst_Link_Value	*m_p_stCurrentBadRef;


  // Construction
  public:
	CChkDataDlg(CWnd* pParent = NULL);	// standard constructor
	~CChkDataDlg();

  // Dialog Data
	//{{AFX_DATA(CChkDataDlg)
	enum { IDD = IDD_CHKDATA_DIALOG };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CChkDataDlg)
	//}}AFX_VIRTUAL

  // Implementation
  protected:
	void	m_fn_vInitProgessBar		( int _iStart, int _iEnd );
	void	m_fn_vFillSectionTypeList	( void );
	void	m_fn_vFillListEntry			( void );
	void	m_fn_vShowCurrentEntry		( void );
	void	m_fn_vDumpSectionAndRefsListInFile( char *_szFileName );
	void	fn_vFillBadReferenceList	( void );
	void	fn_vFillSectionWithBadReferenceList ( void );
	void	m_fn_vDisplayLastOperationTime( long _lTime );

	// Generated message map functions
	//{{AFX_MSG(CChkDataDlg)
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	virtual BOOL OnInitDialog();
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDIS);
	afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
	afx_msg void OnDblclkListFiletype();
	afx_msg void OnButtonProcess();
	afx_msg void OnButtonBuildfilelist();
	afx_msg void OnSelchangeListSections();
	afx_msg void OnSelchangeListEntries();
	afx_msg void OnButtonSave();
	afx_msg void OnButtonSectionandrefs();
	afx_msg void OnButtonStat();
	afx_msg void OnSelchangeListBadref();
	afx_msg void OnDblclkListSectionwithbadref();
	afx_msg void OnButtonModstat();
	//}}AFX_MSG
	afx_msg void OnButtonParam( UINT nID );
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_CHKDATADLG_H__51552988_281B_11D1_8F25_00609736731A__INCLUDED_)
