/*-----------------------------------------------------------------------------
[名称]	CommandInput.h
[概要]	文字入力コマンドクラスのヘッダ
[備考]	なし
[履歴]	2003-03-13	NC		コメント付加(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_COMMANDINPUT_H_INCLUDED_)
#define AFX_COMMANDINPUT_H_INCLUDED_

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


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


/*-----------------------------------------------------------------------------
[名称]	文字入力コマンドクラス
[用途]	文字入力に関する操作の実行、取り消し機能を提供する。
[備考]	使用方法：ICommandの使用方法を参照。
-----------------------------------------------------------------------------*/
class CCommandInput : public ICommand  
{
public:
	// 生成
	CCommandInput();

	// 破棄
	virtual ~CCommandInput();

// オーバライド
public:
	// 属性の設定
	void SetAttribute(
		CString		strInput,		// 入力された文字列 [-] (-)
		long		idxRow,			// 入力された位置 [行] (-)
		long		idxColumn		// 入力された位置 [列] (-)
	);

protected:
	CString		m_strInput;			// 入力された文字列 [-] (-)
	long		m_idxStartRow;		// 入力された位置 [行] (-)
	long		m_idxStartColumn;	// 入力された位置 [列] (-)
	long		m_idxEndRow;		// 入力された位置 [行] (-)
	long		m_idxEndColumn;		// 入力された位置 [列] (-)

// オーバライド
public:
	// メモリを確保して複製
	virtual ICommand*	Duplicate();

	// 属性をコピー
	virtual void		Copy( ICommand& cmdSrc );

	// 実行
	virtual BOOL		Execute( CShitarabianDoc* pDoc );

	// 取り消し
	virtual BOOL		UnExecute( CShitarabianDoc* pDoc );
};

#endif // !defined(AFX_COMMANDINPUT_H_INCLUDED_)
