#if !defined(AFX_34DOCUMENT_H__DDAAE3BB_905B_4719_833B_795986D8FD32__INCLUDED_)
#define AFX_34DOCUMENT_H__DDAAE3BB_905B_4719_833B_795986D8FD32__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// 34Document.h : _xZkqqHx_iDhHiDgCiDfPiBfL_xHqqkZx_ _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_
//

class MC3ObjBase;
// _xZkqqHx_iDhHiDgCiDfPiPoOjFpBiBeC_xHqqkZx_
class MC3HeaderInf;
// _xZkqqHx_iDhGiDiKiDjDiDfOiPoOjFpBjDjJiBeC_xHqqkZx_
class MC3App;
// _xZkqqHx_iKmCiLkLiPoOjFpBiBeC_xHqqkZx_
class MC3Env;
// _xZkqqHx_iDgDiBfLiDiLjAnNjCoIiPoOjFpBiBeC_xHqqkZx_
class MC3ToolManager;
// _xZkqqHx_iDfGiBfLiDgHiBeBjFjEjFgJiPoOjFpBiBeC_xHqqkZx_
class MC3SheetManager;
// _xZkqqHx_iDiKiDjDiDeOiPoOjFpBiBeC_xHqqkZx_
class MC3LinkManager;
// _xZkqqHx_iDiMiDfHiDfIiDgHiDiKiPoOjFpBiBeC_xHqqkZx_
class MC3Reg;
// _xZkqqHx_iDeMiDiDiDjDiDgPiDfIiPoOjFpBiBeC_xHqqkZx_
class MC3CanvasStat;


/////////////////////////////////////////////////////////////////////////////
// MC3Document _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgH_xHqqkZx_

class MC3Document : public COleServerDoc
{
// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
	virtual void		SetFileType (FTDocumentFormat df);
	virtual BOOL		InStreamCore (MCARCHIVE& ar);
	virtual void		OutStreamCore (MCARCHIVE& ar);

	virtual void		RegisterObject (MC3ObjBase* pObj, DWORD dwID);
	virtual void		UnregisterObject (MC3ObjBase* pObj);

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	// _xZkqqHx_jFfMiOkGjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmMiKmHjHjNiDgFiBfLiDhFiDiL_xHqqkZx_.
	map<DWORD, MC3ObjBase*>	m_mpIdToObj;
	// _xZkqqHx_iDhHiDgCiDfPiPoOjFpBiBeC_xHqqkZx_
	MC3HeaderInf*		m_headerInf;
	// _xZkqqHx_iDhGiDiKiDjDiDfOiPoOjFpBjDjJiBeC_xHqqkZx_
	MC3App*				m_app;
	// _xZkqqHx_iKmCiLkLiPoOjFpBiBeC_xHqqkZx_
	MC3Env*				m_env;
	// _xZkqqHx_iDgDiBfLiDiLjAnNjCoIiPoOjFpBiBeC_xHqqkZx_
	MC3ToolManager*		m_toolManager;
	// _xZkqqHx_iDfGiBfLiDgHiBeBjFjEjFgJiPoOjFpBiBeC_xHqqkZx_
	MC3SheetManager*	m_sheetManager;
	// _xZkqqHx_iDiKiDjDiDeOiPoOjFpBiBeC_xHqqkZx_
	MC3LinkManager*		m_linkManager;
	// _xZkqqHx_iDiMiDfHiDfIiDgHiDiKiPoOjFpBiBeC_xHqqkZx_
	MC3Reg*				m_reg;
	// _xZkqqHx_iDeMiDiDiDjDiDgPiDfIiPoOjFpBiBeC_xHqqkZx_
	MC3CanvasStat*		m_canvasStat;

protected:
	MC3Document();           // _xZkqqHx_jDkOjDeJjAlGjAkMiCmJiOgHjHhAiClDiCoKiCoJiDhGiDiNiDgFiDeOiDgH_xHqqkZx_ _xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
	DECLARE_DYNCREATE(MC3Document)

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

// _xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCmMiDeJiBfLiDgPiBfLiDiJiDeDiDgIiCpAjAlGjAkMiClFiCnMiClHiBeC_xHqqkZx_
	//{{AFX_VIRTUAL(MC3Document)
	public:
	virtual void Serialize(CArchive& ar);   // _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgH_xHqqkZx_ I/O _xZkqqHx_iCmJjBmOiClFiCmEiDeJiBfLiDgPiBfLiDiJiDeDiDgIiClDiCoKiCnMiClHiBeC_xHqqkZx_
	virtual BOOL OnNewDocument();
	protected:
	virtual COleServerItem* OnGetEmbeddedItem();
	//}}AFX_VIRTUAL

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~MC3Document();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	// _xZkqqHx_iDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjEiCmMjAlGjAkM_xHqqkZx_
protected:
	//{{AFX_MSG(MC3Document)
		// _xZkqqHx_iDiBiDiC_xHqqkZx_ - ClassWizard _xZkqqHx_iCmNiClBiCmMiImKjChFiCmJiDiBiDjDiDgPiKnGjAjEiCpAjCmHiJmBiCnMiClNiCmNiNoNiPjMiClFiCnMiClHiBeC_xHqqkZx_
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ _xZkqqHx_iCmNjBePiNhDiCmMjClMjBePiCmJjCmHiJmBiCmMjAoJiMlOiCpAjBhNjDpMiClFiCnMiClHiBeC_xHqqkZx_

#endif // !defined(AFX_34DOCUMENT_H__DDAAE3BB_905B_4719_833B_795986D8FD32__INCLUDED_)
