// ★コメント未記入
/*
		2003-12-28  b040111 (3632)キャレット位置の強調(moralog)
*/

#if !defined(AFX_EMPHASISDEFINE_H__008D1E7E_6EBB_4A34_A932_C57F6F644B86__INCLUDED_)
#define AFX_EMPHASISDEFINE_H__008D1E7E_6EBB_4A34_A932_C57F6F644B86__INCLUDED_

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


#include "EmphasisItem.h"
#include <afxtempl.h>


// 強調表示設定のインデクス定義
// （システム定義）
#define		EMPHASIS_TEXT		(0)
#define		EMPHASIS_SELECTED	(1)
#define		EMPHASIS_NUMBER		(2)
#define		EMPHASIS_MARKED		(3)
#define		EMPHASIS_MODIFIED	(4)
#define		EMPHASIS_RULER		(5)
// ▼ (3632) BGN 2003.12.28 (moralog) キャレット位置表示追加
#define		EMPHASIS_CARETPOSITION	(6)
#define		EMPHASIS_EOF		(7)
#define		EMPHASIS_CRLF		(8)
#define		EMPHASIS_NEEDCOLORINGITEM		(9) // ここ以降のアイテムについて、検索をかけて強調表示を行う
#define		EMPHASIS_FOUND		(EMPHASIS_NEEDCOLORINGITEM)
// （ユーザ定義）
#define		EMPHASIS_USERDEFINE	(EMPHASIS_FOUND+1)
// ▽ original BGN
//#define		EMPHASIS_EOF		(6)
//#define		EMPHASIS_CRLF		(7)
//#define		EMPHASIS_NEEDCOLORINGITEM		(8) // ここ以降のアイテムについて、検索をかけて強調表示を行う
//#define		EMPHASIS_FOUND		(8)
//// （ユーザ定義）
//#define		EMPHASIS_USERDEFINE	(9)
// △ original END
// ▲ (3632) END



class CEmphasisDefine  
{
public:
	CEmphasisDefine();
	virtual ~CEmphasisDefine();

	// 属性の設定・取得
	void SetEnable( BOOL bEnabled );
	BOOL GetEnable(){ return( m_bEnabled ); };
	CArray<CEmphasisItem, CEmphasisItem&>& GetItemz(){ return( m_aItemz ); };

	void Copy( CEmphasisDefine& SrcDefine );

	// ファイルアクセス
	BOOL Write();
	BOOL Read();

	void		MultiLineEmphasisStarterPrepare();
	BOOL		IsMultiLineEmphasisStarterNormalExist();
	CString&	GetMultiLineEmphasisStarterRegExp();

protected:

protected:
	BOOL		m_bEnabled;
	CArray<CEmphasisItem, CEmphasisItem&>
				m_aItemz;

	BOOL		m_bMultiLineEmphasisStarterPrepared;
	BOOL		m_bMultiLineEmphasisStarterRegExpExist;
	BOOL		m_bMultiLineEmphasisStarterNormalExist;
	CString		m_strMultiLineEmphasisStarterRegExp;
	CString		m_strMultiLineEmphasisStarterNormal;
};

#endif // !defined(AFX_EMPHASISDEFINE_H__008D1E7E_6EBB_4A34_A932_C57F6F644B86__INCLUDED_)
