////////////////////////////////////////////////////////////////////////////
// CMsgBox クラスのインタフェース宣言
//
////////////////////////////////////////////////////////////////////////////

#if !defined( MSGBOX_H_INCLUDED_ )
#define MSGBOX_H_INCLUDED_

#include "ModalDlg.h"
#include "ConfigInfo.h"

class CCompoundStr;

class CMsgBox
{
	// メッセージボックスのボタンが押下されたときに渡されるデータ
	struct tagCallBackData {
		CModalDlg *pModalDlgMgr;
		bool *pFlg;
	};

public:
	CMsgBox();
	~CMsgBox();

	// 初期化
	void Initialize( Widget wgtPrent, const CConfigInfo& rConfig );

	// メッセージボックスを表示する
	void ShowInformationMsgBox( const CCompoundStr &rStr ) const;
	int ShowQuestionMsgBox( const CCompoundStr &rStr, bool ShowCancel ) const;
	void ShowErrorMsgBox( const CCompoundStr &rStr ) const;

protected:
	int ShowMsgBox( Widget wgrMsgBox, const CCompoundStr &rStr ) const;
	static void MsgBoxBtnPushCB( Widget w, XtPointer client_data, XtPointer call_data );

	mutable CModalDlg ModalDlgMgr;	// モーダルダイアログ管理用

	// 各種ダイアログ
	Widget wgtInfo;
	Widget wgtQuestion;
	Widget wgtErr;
};

#endif // MSGBOX_H_INCLUDED_

