#if !defined(AFX_ARROWEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_)
#define AFX_ARROWEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_

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

// 03.05.03 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//#include <map>					// For map.
#include "CommonEditorDoc.h"	// Superclass.

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

class FCHiCommandTable;	// For friend.
class FCObjDynabase;
class FCObjPictArrow;

typedef map<const FCObjDynabase*, BYTE>	FDObjToArrowDuty;

/////////////////////////////////////////////////////////////////////////////
// CFCArrowEditorDoc _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgH_xHqqkZx_

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

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

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

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

	//----- _xZkqqHx_jFgAiJoG_xHqqkZx_ -----
	virtual void	OnDrawBackView (CDC* pDC);

	//----- _xZkqqHx_jGoOiIpDiKnGiMfH_xHqqkZx_ -----
	virtual DBLRect	GetPictArrowFrame (int iSheetId) const;
	virtual void	SetPictArrowFrame (int iSheetId, const DBLRect& mmrtFrame);
//----- 01.08.15 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual mmetol	GetMinArrowPenWeight (int iSheetId) const;
	virtual void	SetMinArrowPenWeight (int iSheetId, mmetol mmPenWeight);
//----- 01.08.15 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	virtual BYTE	GetPictArrowDuty (int iSheetId, const FCObjDynabase* pObj) const;
	virtual void	SetPictArrowDuty (int iSheetId, const FCObjDynabase* pObj, BYTE byDuty);
	virtual const FDObjToArrowDuty&	GetPictArrowDutyMap (int iSheetId) const;

	virtual BOOL	IsPictArrowForbidden () const;

protected:
	//----- _xZkqqHx_iDfCiDhNiDjDiDgIiDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_ -----
	virtual	void	CmdCreate1Obj (FCObjDynabase* objp, SheetID stid, const FCLayerZOrder& lzorder);

friend class FCHiCommandTable;
protected:
	//----- _xZkqqHx_jFjEjFgJjDfMiCoIjFhEiCkPiKnGjIeB_xHqqkZx_ -----
	virtual FTObjectType	GetForbiddenObject (long lIndex) const;

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	DBLRect				m_mmrtPictArrowFrame[2];	// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiBeC_xHqqkZx_
	mmetol				m_mmaMinArrowPenWeight[2];	// _xZkqqHx_iDhJiDjDjBlOiClDiCmMiNmFjCoBjCgMiBeC_xHqqkZx_
	FDObjToArrowDuty	m_mpObjToDuty[2];			// _xZkqqHx_jFjEjFgJjGpAiKiEiDgOiDgCiDfGiDiFiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
// 06.04.04 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	FCObjPictArrow*		m_pObjArrow;				// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDjFjEjFgJiBeC_xHqqkZx_

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

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

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~CFCArrowEditorDoc();

//;----- <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(CFCArrowEditorDoc)
	afx_msg void OnFileComedtSaveExit();
	afx_msg void OnUpdateFileChpedSaveExit(CCmdUI* pCmdUI);
	afx_msg void OnArroweditProperty();
	afx_msg void OnUpdateArroweditProperty(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
}; // class CFCArrowEditorDoc.

// _xZkqqHx_iDeBiDiNiBfLiDeHiDgGiDeCiDfOiDgIiDeMiDiFiDiBiDjDiDgHiBeC_xHqqkZx_
inline CFCArrowEditorDoc* FFArrowEditorDoc ()
{
	if (g_pDoc->IsKindOf(RUNTIME_CLASS(CFCArrowEditorDoc)))
		return (CFCArrowEditorDoc*)g_pDoc;
	else
		return NULL;
} // FFArrowEditorDoc ().

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

#endif // !defined(AFX_ARROWEDITORDOC_H__46FB7B7C_E1A4_11D2_ACBD_00C0F6B0E2D0__INCLUDED_)
