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

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


class CShitarabianDoc;

/*-----------------------------------------------------------------------------
[名称]	Grep検索ダイアログクラス
[用途]	Grep条件を設定するダイアログ
[備考]	なし
-----------------------------------------------------------------------------*/
class CGrepDlg : public CDialog
{
// コンストラクション
public:
	//生成
	CGrepDlg(CWnd* pParent = NULL);   // 標準のコンストラクタ


	void Attach( CShitarabianDoc* pDoc ){ m_pDoc = pDoc; };

	void AddSubString(
		CString&		strSubString,
		CComboBox*		pComboBox
	);

	void GetFilterFromSetting();

	//コントロール制御
	void VisibleControl();			

// ダイアログ データ
	//{{AFX_DATA(CGrepDlg)
	enum { IDD = IDD_GREP };
	CComboBox	m_comboFileFilter;
	CButton	m_btnRegPropose;
	CButton	m_btnGrep;
	CComboBox	m_comboFolder;
	CComboBox	m_comboSubstring;
	CString	m_strSubstring;
	CString	m_strFolder;
	BOOL	m_bToken;
	BOOL	m_bRegexp;
	CString	m_strFileFilter;
	BOOL	m_bCaseCare;
	BOOL	m_bSubFolder;
	//}}AFX_DATA


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

// インプリメンテーション
protected:
	CShitarabianDoc*	m_pDoc;
	// 生成されたメッセージ マップ関数
	//{{AFX_MSG(CGrepDlg)
	afx_msg void OnGrep();
	afx_msg void OnGrepSetFolder();
	afx_msg void OnEditchangeGrepFolder();
	virtual BOOL OnInitDialog();
	afx_msg void OnEditchangeGrepSubstring();
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
	afx_msg void OnGrepRegexp();
	afx_msg void OnGrepRegpropose();
	afx_msg void OnRegexp0match();
	afx_msg void OnRegexp1match();
	afx_msg void OnRegexpChar();
	afx_msg void OnRegexpCount();
	afx_msg void OnRegexpGroup();
	afx_msg void OnRegexpHead();
	afx_msg void OnRegexpLast();
	afx_msg void OnRegexpNot();
	afx_msg void OnRegexpNotspace();
	afx_msg void OnRegexpNottoken();
	afx_msg void OnRegexpOr();
	afx_msg void OnRegexpRenge();
	afx_msg void OnRegexpRengeover();
	afx_msg void OnRegexpSpace();
	afx_msg void OnRegexpTag();
	afx_msg void OnRegexpToken();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_GREPDLG_H__94306830_4583_467D_B4BF_D1BCF0E1BC6C__INCLUDED_)
