// ★コメント未記入
// FinderDefault.h: CFinderDefault クラスのインターフェイス
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FINDERDEFAULT_H__A4811441_9D1E_4224_8F69_B8ACC4FFAACB__INCLUDED_)
#define AFX_FINDERDEFAULT_H__A4811441_9D1E_4224_8F69_B8ACC4FFAACB__INCLUDED_

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

#include "Finder.h"

class CFinderDefault : public CFinder  
{
public:
	CFinderDefault();
	virtual ~CFinderDefault();

	virtual BOOL FindAtLine(
		CString&			strTarget,
		long				idxStartColumn,
		long				idxEndColumn,
		CString&			strSubStringSrc,
		long*				pidxFoundCaretColumn,
		long*				pnCaretColumn,
		BOOL				bCaseCare,
		BOOL				bToken
	);

	virtual CString GetReplaceWord(
		CShitarabianDoc*	pDoc,
		long				idxRow,
		long				idxStartColumn,
		long				idxEndColumn,
		CString&			strSubString,
		CString&			strReplaceFormat,
		BOOL				bCaseCare,
		BOOL				bToken
	){ pDoc; idxRow; idxStartColumn; idxEndColumn; strSubString; bCaseCare; bToken;
		return( strReplaceFormat ); };

	virtual long GetMatchz(
		CString&					strSrc,
		CString&					strSubString,
		CArray<TMatch, TMatch& >*	paMatchz,
		BOOL						bCaseCare,
		BOOL						bToken,
		BOOL						bNeedSubMatch = FALSE
	);
	virtual BOOL QuickMatch(
		LPCTSTR						strSrc,
		CString&					strSubString,
		TMatch*						pMatch,
		BOOL						bCaseCare,
		BOOL						bToken
	);


protected:
	BOOL FindAtString(
		CString&			strSrc,
		long				idxStartColumn,
		long				idxEndColumn,
		CString&			strSubStringSrc,
		long*				pidxFoundCaretColumn,
		long*				pnCaretColumn,
		BOOL				bCaseCare,
		BOOL				bToken
	);
};

#endif // !defined(AFX_FINDERDEFAULT_H__A4811441_9D1E_4224_8F69_B8ACC4FFAACB__INCLUDED_)
