/*-----------------------------------------------------------------------------
[名称]	CharPalette.h
[概要]	文字パレットクラスのヘッダ
[備考]	なし
[履歴]	2003-02-03	NC		コメント付加(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_CHARPALETTE_H__F415999B_8997_43A9_A453_8D7B351745FA__INCLUDED_)
#define AFX_CHARPALETTE_H__F415999B_8997_43A9_A453_8D7B351745FA__INCLUDED_

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

/*-----------------------------------------------------------------------------
[名称]	文字パレット
[用途]	文字パレットにまつわるデータの保持。
[備考]	文字パレットのタブ１枚分に当たる。
		CCharPaletteDefineに管理される。
-----------------------------------------------------------------------------*/
class CCharPalette  
{
public:
	// 生成・消滅
	CCharPalette();
	CCharPalette( CCharPalette& Src ){ Copy( Src ); };
	virtual ~CCharPalette();

	// 複製（コピー）
	CCharPalette& Copy( CCharPalette& Src );
	CCharPalette& operator = ( CCharPalette& Src ){ Copy( Src ); return( *this ); };

	// 入出力
	BOOL	Read( CStdioFile& File );
	BOOL	Write( CStdioFile* pFile );

// アトリビュート
	// タブ名称設定・取得
	CString		GetName(){ return(m_strName); };
	void		SetName( CString strName ){ m_strName = strName; };
	// 項目数取得
	int			GetSize(){ return(m_aCharz.GetSize()); };
	// 項目設定・取得
	CString		GetChar( int idxChar ){ return( m_aCharz[idxChar] ); };
	void 		SetChar( int idxChar, CString str ){ m_aCharz.SetAt(idxChar,str); };
	CStringArray*	GetCharz(){ return( &m_aCharz ); };

// インプリメント
protected:
	CString			m_strName;		// タブ名称 [-] (-)
	CStringArray	m_aCharz;		// 項目群 [-] (-)
};

#endif // !defined(AFX_CHARPALETTE_H__F415999B_8997_43A9_A453_8D7B351745FA__INCLUDED_)
