#if !defined(AFX_CHIPEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_)
#define AFX_CHIPEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_

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

// 01.04.07 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//#include "FoundDoc.h"	// Superclass.
#include "CommonEditorDoc.h"	// Superclass.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS CFCCommonEditorDoc

class FCHiCommandTable;	// For friend.
class FCObjChipMaster;

//----- _xZkqqHx_iDgAiDgCiDhGiCmMjGpAiKiEjCoIiLgA_xHqqkZx_ -----
enum FTChipDuty
{
	FDCA_NONE = 0,
	FDCA_LINK,
	FDCA_TEXT,
}; // enum FTChipDuty.

/////////////////////////////////////////////////////////////////////////////
// CFCChipEditorDoc _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgH_xHqqkZx_

class CFCChipEditorDoc : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;

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

// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
	//----- _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmMjDgPjIfOiKnGjAjE_xHqqkZx_ -----
	virtual void	UnregisterObject (FCObjDynabase* pObj);

	/////////////// _xZkqqHx_iDgAiDgCiDhGiDeHiDgGiDeCiDfOiDiCiBfLiDgIiOjOiCmMiKnGjAjE_xHqqkZx_ /////////////////
	//----- _xZkqqHx_jCmKjAeNiKnGjAjE_xHqqkZx_ -----
	virtual void	ReceiveStreamAndInit (HWND hwndDraw);
	virtual void	SendStreamAndEnd ();

	//----- _xZkqqHx_jFjEjFgJjGpAiKiEiKnGjIeBiKnGjAjE_xHqqkZx_ -----
	virtual const DWORDVector&	GetChipDutyObjects (FTChipDuty iDuty) const;
	virtual void	FindChipDutyID (int& iDutyID, FTChipDuty iDuty, const FCObjDynabase* pObj) const;

	//----- _xZkqqHx_iDfCiDhNiDjDiDgIiDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_ -----
	virtual void		CmdDelete1Obj (FCObjDynabase* objp, SheetID stid);
	virtual FCObjGroup*	CmdGroup (const ObjDynabaseVector& vObj, const DWORDVector& vLinkId);
	virtual void		CmdUngroup (ObjDynabaseVector& vObj, FCObjGroup* pGrp);

friend class FCHiCommandTable;
protected:

	//----- _xZkqqHx_iClLiCmMjBlM_xHqqkZx_ -----
	virtual void	InsertChipDutyObject (FTChipDuty iDuty, int iDutyID, FCObjDynabase* pObj);
	virtual void	RemoveChipDutyObject (FTChipDuty iDuty, int iDutyID);

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	short			m_nChipKind;		// _xZkqqHx_iDgAiDgCiDhGiOoNjFmKiBeC_xHqqkZx_
	//----- _xZkqqHx_iDgAiDgCiDhGiCmFiCmMjFjEjFgJiCmMjGpAiKiEiDgFiBfLiDhFiDiL_xHqqkZx_ -----
	DWORDVector		m_vChipDutyLink;	// _xZkqqHx_iDiKiDjDiDeOjFjEjFgJ_xHqqkZx_.
	DWORDVector		m_vChipDutyText;	// _xZkqqHx_iDgFiDeMiDfIiDgHjFjEjFgJ_xHqqkZx_.
// 06.04.04 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	FCObjChipMaster*	m_pObjChip;		// _xZkqqHx_iDgAiDgCiDhGjFjEjFgJiBeC_xHqqkZx_

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

// _xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCmMiDeJiBfLiDgPiBfLiDiJiDeDiDgIiCpAjAlGjAkMiClFiCnMiClHiBeC_xHqqkZx_
	//{{AFX_VIRTUAL(CFCChipEditorDoc)
	public:
	virtual void DeleteContents();
	protected:
	//}}AFX_VIRTUAL
//	virtual BOOL OnNewDocument();

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~CFCChipEditorDoc();
//;----- <start restrict> -----;
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif
//;------ <end restrict> -----;

	// _xZkqqHx_iDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjEiCmMjAlGjAkM_xHqqkZx_
protected:
	//{{AFX_MSG(CFCChipEditorDoc)
	afx_msg void OnFileComedtSaveExit();
	afx_msg void OnUpdateFileChpedSaveExit(CCmdUI* pCmdUI);
	afx_msg void OnChipeditModeObjectChip();
	afx_msg void OnUpdateChipeditModeObjectChip(CCmdUI* pCmdUI);
	afx_msg void OnChipeditModeCompositeChip();
	afx_msg void OnUpdateChipeditModeCompositeChip(CCmdUI* pCmdUI);
	afx_msg void OnChipeditProperty();
	afx_msg void OnUpdateChipeditProperty(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
}; // class CFCChipEditorDoc.

//----- 02.12.03 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//// _xZkqqHx_iDgAiDgCiDhGiDeHiDgGiDeCiDfOiDgIiDeMiDiFiDiBiDjDiDgHjFmPjAjEiBeC_xHqqkZx_
//extern CFCChipEditorDoc* g_pChipDoc;
//----- 02.12.03 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
// _xZkqqHx_iDgAiDgCiDhGiDeHiDgGiDeCiDfOiDgIiDeMiDiFiDiBiDjDiDgHjFmPjAjEiBeC_xHqqkZx_
inline CFCChipEditorDoc* FFChipEditorDoc ()
{
	if (g_pDoc->IsKindOf(RUNTIME_CLASS(CFCChipEditorDoc)))
		return (CFCChipEditorDoc*)g_pDoc;
	else
		return NULL;
} // FFChipEditorDoc.
//----- 02.12.03 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

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

#endif // !defined(AFX_CHIPEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_)
