#if !defined(AFX_EDITVMSITEMSPG_H__2B701687_9DA7_4D59_9F6B_F4F6186555CB__INCLUDED_)
#define AFX_EDITVMSITEMSPG_H__2B701687_9DA7_4D59_9F6B_F4F6186555CB__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// EditVMSItemsPg.h : ヘッダー ファイル
//

#include "EditVPg.h"
#include "DM2RTextToken.h"

/////////////////////////////////////////////////////////////////////////////
// CEditVMSItemsPg ダイアログ

class CEditVMSItemsPg : public CEditVPg
{
	// 
	CDM2RTTokenList m_tl;
	// 
	bool m_fUseCatA;
	// 
	CString m_strText;
	// 
	CString m_strTextRet;

	// 
	void OnSel();
	// 
	CString FormatDynName(CDM2RTToken &rt);
	// 
	int GetCat() const { return m_fUseCatA ? m_iCat1 : m_iCat2; }
	// 
	void InitDynContents();
	// 
	int Sel2RTT(int iSel) const
	{
		int iCat = GetCat();
		if (m_fUseCatA) {
			switch (iCat) {
			case 0: return rttWeapons;
			case 1: return rttClothes;
			case 2: return rttMisc;
			case 3: return rttPotions;
			case 4: return rttChests;
			case 5: return rttScrolls;
			}
		} else {
			switch (iCat) {
			case 0: return rttCreatures;
			}
		}
		return 0;
	}

public:
	// 
	CEditVMSItemsPg(CEditVCtx &vctx, CWnd* pParent = NULL): CEditVPg(vctx, pParent) { }
	// 
	virtual void Construction();
	// 
	virtual UINT GetVal()
	{
		return 0;
	}
	// 
	virtual LPCTSTR GetText() { return m_strTextRet = (m_strText + "<00>"); }
	// 
	virtual LPCTSTR GetTemplateName() { return MAKEINTRESOURCE(IDD); }
	// 
	void SelectCat(bool fUseCatA)
	{
		ASSERT(!IsWindow(m_hWnd));

		m_fUseCatA = fUseCatA;
	}

// ダイアログ データ
	//{{AFX_DATA(CEditVMSItemsPg)
	enum { IDD = IDD_EDITV_MSITEMS };
	CComboBox	m_wndCat2;
	CComboBox	m_wndCat1;
	CListBox	m_wndListDyn;
	CListBox	m_wndListSrc;
	int		m_iCat1;
	int		m_iCat2;
	int		m_iSelSrc;
	int		m_iSelDyn;
	//}}AFX_DATA


// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。
	//{{AFX_VIRTUAL(CEditVMSItemsPg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV サポート
	//}}AFX_VIRTUAL

// インプリメンテーション
protected:

	// 生成されたメッセージ マップ関数
	//{{AFX_MSG(CEditVMSItemsPg)
	virtual BOOL OnInitDialog();
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnSelchangeComboCat1();
	afx_msg void OnSelchangeComboCat2();
	afx_msg void OnDblclkListItem();
	afx_msg void OnButtonAdd();
	afx_msg void OnButtonRemove();
	afx_msg void OnButtonSort();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_EDITVMSITEMSPG_H__2B701687_9DA7_4D59_9F6B_F4F6186555CB__INCLUDED_)
