// EditVCtx.h: CEditVCtx クラスのインターフェイス
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_EDITVCTX_H__419BD988_D52F_4129_9320_FC154C4D9CF3__INCLUDED_)
#define AFX_EDITVCTX_H__419BD988_D52F_4129_9320_FC154C4D9CF3__INCLUDED_

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

#include "GDEdCtx.h"
#include "WVCT.h"

class CEditVCtx  
{
public:
	// 
	CWVCF &m_wvcf;
	// 
	CGDEdOpt m_aOpt;

	// 
	CEditVCtx(CWVCF &wvcf, CGDEdCtx *pEdCtx): m_wvcf(wvcf), m_pEdCtx(NULL)
	{
		InitEdCtx(pEdCtx);
	}
	// 
	virtual ~CEditVCtx()
	{
		InitEdCtx(NULL);
	}
	// 
	CString Format(WORD x) { return m_wvcf.Format(x); }
	// 
	CGDEdCtx *GetEdCtx(BOOL fAddRef = FALSE)
	{
		if (m_pEdCtx && fAddRef)
			m_pEdCtx->AddRef();
		return m_pEdCtx;
	}
	// 
	BOOL Get4CatItemName(int iCat, int iIdx, CString &strText);
	// 
	BOOL Get1CatItemName(int iCat, int iIdx, CString &strText);
	// 
	BOOL Get6CatItemName(int iCat, int iIdx, CString &strText);

protected:
	// 
	CGDEdCtx *m_pEdCtx;

	// 
	void InitEdCtx(CGDEdCtx *pEdCtx)
	{
		if (m_pEdCtx)
			m_pEdCtx->Release();
		if (m_pEdCtx = pEdCtx) {
			m_pEdCtx->AddRef();
			m_pEdCtx->GetOpts(m_aOpt);
		}
	}

};

#endif // !defined(AFX_EDITVCTX_H__419BD988_D52F_4129_9320_FC154C4D9CF3__INCLUDED_)
