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

#if !defined( MODALDLG_H_INCLUDED_ )
#define MODALDLG_H_INCLUDED_

#include <Xm/XmAll.h>

class CModalDlg
{
public:
	CModalDlg();
	~CModalDlg();

	// モーダルダイアログを表示
	virtual void DoModal( Widget argDlg, bool IsCompletely = false );

	// ダイアログを閉じる
	void ExitModal();

	// ダイアログが表示されているか否か
	bool IsManaged() const;

private:
	// 指定されたウィジットの親子関係を調べる
	bool IsChildWidget( Widget p, Widget c ) const;

	Widget m_dlg;	// 対象のダイアログ
	volatile bool IsUnmanaged;	// アンマネージされたか否か
};

#endif // MODALDLG_H_INCLUDED_

