/*-----------------------------------------------------------------------------
[名称]	EmphasisItem.h
[概要]	強調表示要素定義クラスのヘッダ
[備考]	なし
[履歴]	2003-02-26	NC		コメント付加(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_EMPHASISITEM_H_INCLUDED_)
#define AFX_EMPHASISITEM_H_INCLUDED_

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


//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include "Finder.h"


/*-----------------------------------------------------------------------------
[名称]	強調表示要素定義クラス
[用途]	強調表示の定義情報１種類分を保持する。
[備考]	CEmphasisDefine に管理される。
-----------------------------------------------------------------------------*/
class CEmphasisItem  
{
public:
	// 生成破棄
	CEmphasisItem();
	virtual ~CEmphasisItem();

// 属性の設定・取得
	// 有効無効
	void SetEnable( BOOL bEnabled ){ m_bEnabled = bEnabled; };
	BOOL GetEnable();
	// （有効チェック状態取得）
	BOOL GetCheck();

	// 有効無効トグル有無
	void SetEnableToggle( BOOL bToggle ){ m_bEnabledToggle = bToggle; };
	BOOL GetEnableToggle(){ return( m_bEnabledToggle ); };

	// パターン（開始）
	void SetPattern( const CString& strPattern ){ m_strPattern = strPattern; };
	CString GetPattern(){ return( m_strPattern ); };

	// 終了パターン
	void SetTerminator( const CString& strTerminator ){ m_strTerminator = strTerminator; };
	CString GetTerminator(){ return( m_strTerminator ); };

	// 検索条件取得
	TFindCondition* GetFindCondition(){ return( &m_tFindCondition ); };

	// 前景色
	void SetForeColor( COLORREF colFore ){ m_colFore = colFore; };
	COLORREF GetForeColor(){ return( m_colFore ); };

	// 背景色
	void SetBackColor( COLORREF colBack ){ m_colBack = colBack; };
	COLORREF GetBackColor(){ return( m_colBack ); };

	// 下線有無
	void SetUnderLine( BOOL bUnderLine ){ m_bUnderLine = bUnderLine; };
	BOOL GetUnderLine(){ return( m_bUnderLine ); };

// 設定保存／読み込み
	BOOL	Write( CStdioFile* pFile );
	BOOL	Read( CStdioFile& File );

protected:
	BOOL			m_bEnabled;			// 強調表示有効 [-] (TRUE:有、FALSE:無)
	BOOL			m_bEnabledToggle;	// 有効設定トグル有無 [-] (TRUE:有、FALSE:無)
	CString			m_strPattern;		// 強調表示パターン（開始）[-] (-)
	CString			m_strTerminator;	// 強調表示終了パターン [-] (NULL文字列で非使用)
	TFindCondition	m_tFindCondition;	// 検索条件 [-] (-)
	COLORREF		m_colFore;			// 文字色 [-] (-)
	COLORREF		m_colBack;			// 背景色 [-] (-)
	BOOL			m_bUnderLine;		// 下線有無 [-] (TRUE:有、FALSE:無)
};

#endif // !defined(AFX_EMPHASISITEM_H_INCLUDED_