/*-----------------------------------------------------------------------------
[名称]	GrepProgressDlg.cpp
[概要]	Grep進捗ダイアログクラスのヘッダ
[備考]	なし
[履歴]	2004-01-30	b031228 (3367)Grep検索(dincom)
-----------------------------------------------------------------------------*/
#if !defined(AFX_GREPPROGRESSDLG_H__22E8FAEC_DA59_4467_834E_D18AC2025E35__INCLUDED_)
#define AFX_GREPPROGRESSDLG_H__22E8FAEC_DA59_4467_834E_D18AC2025E35__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// GrepProgressDlg.h : ヘッダー ファイル
//
#define WM_USER_GREP_PROGRESS_UPDATE	(WM_USER + 1)

/////////////////////////////////////////////////////////////////////////////
// CGrepProgressDlg ダイアログ

class CGrepProgressDlg : public CDialog
{
// コンストラクション
public:
	CGrepProgressDlg(CWnd* pParent = NULL);   // 標準のコンストラクタ

	// 子スレッド開始に伴う初期化
	void Run();

	// 完了／停止通知
	void NotifyComplete();
	void NotifyStop();

	// 表示
	void Show();

	// 非表示
	void Hide();

	// 進捗設定
	void SetTextFolderName( CString& strFolderName );
	void SetTextFileName( CString& strFileName );
	void SetTextFileProgress( long lDenominator , long lMolecular );
	void SetTextHit( long nHit );


	// 状態確認
	BOOL IsRunnning(){ return( m_bRunning ); };
	BOOL IsAbort(){ return( m_bAbort ); };

// ダイアログ データ
	//{{AFX_DATA(CGrepProgressDlg)
	enum { IDD = IDD_GREP_PROGRESS };
	CString	m_strFileName;
	CString	m_strFolderName;
	CString	m_strFileNum;
	CString	m_strFileProgress;
	//}}AFX_DATA


// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。
	//{{AFX_VIRTUAL(CGrepProgressDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV サポート
	//}}AFX_VIRTUAL

// インプリメンテーション
protected:
	long			m_nFind;			// 検索個数 [-] (-)
	long			m_nHit;				// ヒット件数 [-] (-)
	BOOL			m_bAbort;			// 停止要求 [-] (TRUE:あり、FALSE:なし）
	volatile BOOL	m_bRunning;			// 子スレッド実行中 [-] (TRUE:実行中、FALSE:停止）
	BOOL			m_bInitialized;		// 初期化フラグ [-] (TRUE:初期化済み、FALSE:未初期化）

	// 生成されたメッセージ マップ関数
	//{{AFX_MSG(CGrepProgressDlg)
	afx_msg void OnGrepProgressStop();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	afx_msg LRESULT OnGrepProgressUpdate(WPARAM wParam, LPARAM lParam);
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_GREPPROGRESSDLG_H__22E8FAEC_DA59_4467_834E_D18AC2025E35__INCLUDED_)
