#include "stdafx.h"
#include "UndoArchive.h"			// For FCUndoArchive.
#include "LayerManager.h"			// For FDOZ_ON_SELECT.
#include "ObjLine.h"				// For ToolLineEdit.h.
#include "ObjPoly.h"				// For ToolLineEdit.h.
#include "ToolSelect.h"				// For FCToolSelect.
#include "ToolSelEdit.h"			// For FCToolSelEdit.
#include "ToolZoom.h"				// For FCToolZoom.
#include "ToolRect.h"				// For FCToolRect.
#include "ToolRRect.h"				// For FCToolRRect.
#include "ToolArc.h"				// For FCToolArc.
#include "ToolLine.h"				// For FCToolLine.
#include "ToolPoint.h"				// For FCToolPoint.
#include "ToolLineEdit.h"			// For FCToolLineEdit.
#include "ToolRichEdit.h"			// For FCToolRichEdit.
#include "ToolRichText.h"			// For FCToolRichText.
#include "ToolChip.h"				// For FCToolChip.
#include "ToolChipPut.h"			// For FCToolChipPut.
#include "ToolPolyEdit.h"			// For FCToolPolyEdit.
#include "ToolRoundRectEdit.h"		// For FCToolRoundRectEdit.
#include "ToolArcEdit.h"			// For FCToolArcEdit.
#include "ToolOleEdit.h"			// For FCToolOleEdit.
#include "ToolRotate.h"				// For FCToolRotate.
#include "ToolLink.h"				// For FCToolLink.
#include "ToolPolyArrow.h"			// For FCToolArrowTmpl<FCToolPoly>.
#include "ToolBezierArrow.h"		// For FCToolArrowTmpl<FCToolBezier>.
#include "ToolWidePoly.h"			// For FCToolWidePoly.
#include "ToolWideBezier.h"			// For FCToolWideBezier.
#include "ToolWidePolyArrow.h"		// For FCToolWidePoly.
#include "ToolWideBezierArrow.h"	// For FCToolWideBezier.
#include "ToolTextPut.h"			// for FCToolTextPut.
#include "ToolLabelPut.h"			// for FCToolLabelPut.
#include "ToolGroupEdit.h"			// For FCToolGroupEdit.
#include "ToolTable.h"				// For FCToolTable.
#include "ToolTableEdit.h"			// For FCToolTableEdit.
#include "ToolTimeLabel.h"			// For FCToolTimeLabel.
#include "ToolBoxArrowTmpl.h"		// For FCToolBoxArrowTmpl.
//----- 06.12.27 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
#include "ToolPolyBoxArrow.h"		// For FCToolBoxArrowTmpl< FCToolArrowTmpl<FCToolPoly> >.
#include "ToolBezierBoxArrow.h"		// For FCToolBoxArrowTmpl< FCToolArrowTmpl<FCToolBezier> >.
//----- 06.12.27 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
#include "ToolManager.h"			// This header.

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// _xZkqqHx_iDgDiBfLiDiLiDhNiDgMiBfLiDfHiDiDiBeC_xHqqkZx_
static FCToolManager	s_toolManager;
FCToolManager*	g_pToolManager = &s_toolManager;

/////////////////////////////////////////////////////////////////////////////
// FCToolManager

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::FCToolManager
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.13 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolManager::FCToolManager ()
{
	////////////////// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiL_xHqqkZx_ ////////////////////////
	// _xZkqqHx_iImIiJlKiCmMiDgFiBfLiDhFiDiLiCmNiBeBiDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmMiPiHjEnEiCmJjFmAiCpBiCmFiCkCiCoJiBeC_xHqqkZx_
	// _xZkqqHx_iDgDiBfLiDiLiCpAjCmHiJmBiBeFiNoNiPjMiClHiCoJiOjOiCoAiBeBiClLiCmMiPiHiPjIiCpAiLlGiCoNiClFiCmEiCmNiCkCiCkPiCmIiCkCiBeC_xHqqkZx_
	// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDgDiBfLiDiLiPoOjFpBiCmMjFnLjBlGiBeFjDmHiCnNiNjOiCnNiCmJiOgHjHhAiClHiCoJiBeC_xHqqkZx_
	// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCmM_xHqqkZx_ID_xZkqqHx_iCmGiClFiCmEiCoAiOgHiCoNiCoKiCoJiBeC_xHqqkZx_
	// _xZkqqHx_iDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCmMiClNiCnPiBeBjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmM_xHqqkZx_ [0, FD_MAX_TOOL_ID)_xZkqqHx_iCpAiKgNjFnLiBeC_xHqqkZx_
	// _xZkqqHx_iClBiCkEiClHiCoJiClBiCmGiCmJiCoGiCoIiBeBiDgDiBfLiDiLiCkKjBjNiCkGiClNiPoKiNiHiCmFiCoAiBeBiMmDiCkCiDgGiBfLiDfOiCpA_xHqqkZx_
	// _xZkqqHx_jDmHiCnNiNjOiCnOiOjOiCmJjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCkKiDgPiDgCiDgFiDeCiDjDiDePiClFiCmIiCkCiBeC_xHqqkZx_

	// _xZkqqHx_jCiNiInDiBeJiBeJ_xHqqkZx_
	// FdExtern.h_xZkqqHx_iCmM_xHqqkZx_FDTLIDX_XXXX_xZkqqHx_iCmGjIeBjDkOiClFiCmEiCkCiCoJiClBiCmGiCmJjCiNiInDiBeC_xHqqkZx_

	m_dwCommandID	[ 0] = ID_TOOL_SELECT;
	m_pTool			[ 0] = new FCToolSelect();
	m_dwCommandID	[ 1] = ID_TOOL_SELEDIT;
	m_pTool			[ 1] = new FCToolSelEdit();
	m_dwCommandID	[ 2] = ID_TOOL_ROTATE;
	m_pTool			[ 2] = new FCToolRotate();
	m_dwCommandID	[ 3] = ID_TOOL_ZOOM;
	m_pTool			[ 3] = new FCToolZoom();
	m_dwCommandID	[ 4] = ID_TOOL_CHIP;
	m_pTool			[ 4] = new FCToolChip();
	m_dwCommandID	[ 5] = ID_TOOL_LINE;
	m_pTool			[ 5] = new FCToolLine();
	m_dwCommandID	[ 6] = ID_TOOL_RECT;
	m_pTool			[ 6] = new FCToolRect();
	m_dwCommandID	[ 7] = ID_TOOL_RRECT;
	m_pTool			[ 7] = new FCToolRoundRect();
	m_dwCommandID	[ 8] = ID_TOOL_POLYLINE;
	m_pTool			[ 8] = new FCToolPoly();
	m_dwCommandID	[ 9] = ID_TOOL_BEZILINE;
	m_pTool			[ 9] = new FCToolBezier();
	m_dwCommandID	[10] = ID_TOOL_ARC;
	m_pTool			[10] = new FCToolArc();
	m_dwCommandID	[11] = ID_TOOL_RICH_TEXT;
	m_pTool			[11] = new FCToolRichText();
	m_dwCommandID	[12] = ID_TOOL_POINT;
	m_pTool			[12] = new FCToolPoint();
	m_dwCommandID	[13] = ID_TOOL_PEN_LABEL_PUT;
	m_pTool			[13] = new FCToolLabelPut(0);	// 0:_xZkqqHx_iJjEjFeNiBeB_xHqqkZx_1:_xZkqqHx_iOiGiBeB_xHqqkZx_2:_xZkqqHx_iOjOiMhGiBeC_xHqqkZx_
	m_dwCommandID	[14] = ID_TOOL_LINK;
	m_pTool			[14] = new FCToolLink();
	m_dwCommandID	[15] = ID_TOOL_POLY_ARROW;
	m_pTool			[15] = new FCToolArrowTmpl<FCToolPoly>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
	m_dwCommandID	[16] = ID_TOOL_BEZIER_ARROW;
	m_pTool			[16] = new FCToolArrowTmpl<FCToolBezier>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
	m_dwCommandID	[17] = ID_TOOL_WIDE_POLY;
	m_pTool			[17] = new FCToolWidePoly();
	m_dwCommandID	[18] = ID_TOOL_WIDE_BEZIER;
	m_pTool			[18] = new FCToolWideBezier();
	m_dwCommandID	[19] = ID_TOOL_WIDE_POLY_ARROW;
	m_pTool			[19] = new FCToolArrowTmpl<FCToolWidePoly>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
	m_dwCommandID	[20] = ID_TOOL_WIDE_BEZIER_ARROW;
	m_pTool			[20] = new FCToolArrowTmpl<FCToolWideBezier>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
	m_dwCommandID	[21] = ID_TOOL_TEXT_PUT;
	m_pTool			[21] = new FCToolTextPut();
	m_dwCommandID	[22] = ID_TOOL_CHIP_PUT;
	m_pTool			[22] = new FCToolChipPut();
	m_dwCommandID	[23] = ID_TOOL_TABLE;
	m_pTool			[23] = new FCToolTable();
	m_dwCommandID	[24] = DWORD(-1);
	m_pTool			[24] = new FCToolPolyEdit();
	m_dwCommandID	[25] = DWORD(-1);
	m_pTool			[25] = new FCToolLineEdit();
	m_dwCommandID	[26] = DWORD(-1);
	m_pTool			[26] = new FCToolRoundRectEdit();
	m_dwCommandID	[27] = DWORD(-1);
	m_pTool			[27] = new FCToolArcEdit();
	m_dwCommandID	[28] = ID_TOOL_EDIT_RICH_TEXT;
	m_pTool			[28] = new FCToolRichEdit();
	m_dwCommandID	[29] = DWORD(-1);
	m_pTool			[29] = new FCToolOleEdit();
	m_dwCommandID	[30] = DWORD(-1);
	m_pTool			[30] = new FCToolGroupEdit();
	m_dwCommandID	[31] = DWORD(-1);
	m_pTool			[31] = new FCToolTableEdit();
	m_dwCommandID	[32] = ID_TOOL_NOTE_LABEL_PUT;
	m_pTool			[32] = new FCToolLabelPut(1);	// 0:_xZkqqHx_iJjEjFeNiBeB_xHqqkZx_1:_xZkqqHx_iOiGiBeB_xHqqkZx_2:_xZkqqHx_iOjOiMhGiBeC_xHqqkZx_
	m_dwCommandID	[33] = ID_TOOL_TIME_LABEL;
	m_pTool			[33] = new FCToolTimeLabel();
//----- 06.10.05 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	m_dwCommandID	[34] = DWORD(-1);
//	m_pTool			[34] = NULL;
//	m_dwCommandID	[35] = DWORD(-1);
//	m_pTool			[35] = NULL;
//----- 06.10.05 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	m_dwCommandID	[34] = ID_TOOL_BOX_POLY_ARROW;
	m_pTool			[34] = new FCToolBoxArrowTmpl< FCToolArrowTmpl<FCToolPoly> >();
	m_dwCommandID	[35] = ID_TOOL_BOX_BEZIER_ARROW;
	m_pTool			[35] = new FCToolBoxArrowTmpl< FCToolArrowTmpl<FCToolBezier> >();
//----- 06.10.05 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	m_dwCommandID	[36] = DWORD(-1);
	m_pTool			[36] = NULL;
	m_dwCommandID	[37] = DWORD(-1);
	m_pTool			[37] = NULL;
	m_dwCommandID	[38] = DWORD(-1);
	m_pTool			[38] = NULL;
	m_dwCommandID	[39] = DWORD(-1);
	m_pTool			[39] = NULL;

	//----- _xZkqqHx_jFnCiPfHjHhAiDgDiBfLiDiLiDgFiBfLiDhFiDiL_xHqqkZx_ -----

	m_typeObject	[0] = FDOJ_POLY;
	m_pEditTool		[0] = m_pTool[24];
	m_typeObject	[1] = FDOJ_LINE;
	m_pEditTool		[1] = m_pTool[25];
	m_typeObject	[2] = FDOJ_ROUND_RECT;
	m_pEditTool		[2] = m_pTool[26];
	m_typeObject	[3] = FDOJ_ARC;
	m_pEditTool		[3] = m_pTool[27];
	m_typeObject	[4] = FDOJ_OLE;
	m_pEditTool		[4] = m_pTool[29];
	m_typeObject	[5] = FDOJ_GROUP;
	m_pEditTool		[5] = m_pTool[30];
	m_typeObject	[6] = FDOJ_TABLE;
	m_pEditTool		[6] = m_pTool[31];
} // FCToolManager::FCToolManager.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::~FCToolManager
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.13 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolManager::~FCToolManager ()
{
	// _xZkqqHx_iDgDiBfLiDiLiDhNiDgMiBfLiDfHiDiDjCiGiCmMiDgDiBfLiDiLiCmMiPeJjHlJiPiIjHjNiCpAiNhDiCkEiBeC_xHqqkZx_
	Terminate();
	//----- _xZkqqHx_iDgDiBfLiDiLiCmMiNoNiPjM_xHqqkZx_ -----
	for (int iC = 0; iC != FD_MAX_TOOL_ID; iC++)
	{
		if (m_pTool[iC] != NULL)
		{
			delete m_pTool[iC];
			m_pTool[iC] = NULL;
		}
	}
} // FCToolManager::~FCToolManager.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::Initialize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiDhNiDgMiBfLiDfHiDiDjCiGiCmMiDgDiBfLiDiLiCpAiPiJiKpKiJlLiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.13 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCToolManager::Initialize ()
{
//----- 05.07.15 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	////////////////// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiL_xHqqkZx_ ////////////////////////
//	// _xZkqqHx_iImIiJlKiCmMiDgFiBfLiDhFiDiLiCmNiBeBiDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmMiPiHjEnEiCmJjFmAiCpBiCmFiCkCiCoJiBeC_xHqqkZx_
//	// _xZkqqHx_iDgDiBfLiDiLiCpAjCmHiJmBiBeFiNoNiPjMiClHiCoJiOjOiCoAiBeBiClLiCmMiPiHiPjIiCpAiLlGiCoNiClFiCmEiCmNiCkCiCkPiCmIiCkCiBeC_xHqqkZx_
//	// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDgDiBfLiDiLiPoOjFpBiCmMjFnLjBlGiBeFjDmHiCnNiNjOiCnNiCmJiOgHjHhAiClHiCoJiBeC_xHqqkZx_
//	// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCmM_xHqqkZx_ID_xZkqqHx_iCmGiClFiCmEiCoAiOgHiCoNiCoKiCoJiBeC_xHqqkZx_
//	// _xZkqqHx_iDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCmMiClNiCnPiBeBjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmM_xHqqkZx_ [0, FD_MAX_TOOL_ID)_xZkqqHx_iCpAiKgNjFnLiBeC_xHqqkZx_
//	// _xZkqqHx_iClBiCkEiClHiCoJiClBiCmGiCmJiCoGiCoIiBeBiDgDiBfLiDiLiCkKjBjNiCkGiClNiPoKiNiHiCmFiCoAiBeBiMmDiCkCiDgGiBfLiDfOiCpA_xHqqkZx_
//	// _xZkqqHx_jDmHiCnNiNjOiCnOiOjOiCmJjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCkKiDgPiDgCiDgFiDeCiDjDiDePiClFiCmIiCkCiBeC_xHqqkZx_
//
//	// _xZkqqHx_jCiNiInDiBeJiBeJ_xHqqkZx_
//	// FdExtern.h_xZkqqHx_iCmM_xHqqkZx_FDTLIDX_XXXX_xZkqqHx_iCmGjIeBjDkOiClFiCmEiCkCiCoJiClBiCmGiCmJjCiNiInDiBeC_xHqqkZx_
//
//	m_dwCommandID	[ 0] = ID_TOOL_SELECT;
//	m_pTool			[ 0] = new FCToolSelect();
//	m_dwCommandID	[ 1] = ID_TOOL_SELEDIT;
//	m_pTool			[ 1] = new FCToolSelEdit();
//	m_dwCommandID	[ 2] = ID_TOOL_ROTATE;
//	m_pTool			[ 2] = new FCToolRotate();
//	m_dwCommandID	[ 3] = ID_TOOL_ZOOM;
//	m_pTool			[ 3] = new FCToolZoom();
//	m_dwCommandID	[ 4] = ID_TOOL_CHIP;
//	m_pTool			[ 4] = new FCToolChip();
//	m_dwCommandID	[ 5] = ID_TOOL_LINE;
//	m_pTool			[ 5] = new FCToolLine();
//	m_dwCommandID	[ 6] = ID_TOOL_RECT;
//	m_pTool			[ 6] = new FCToolRect();
//	m_dwCommandID	[ 7] = ID_TOOL_RRECT;
//	m_pTool			[ 7] = new FCToolRoundRect();
//	m_dwCommandID	[ 8] = ID_TOOL_POLYLINE;
//	m_pTool			[ 8] = new FCToolPoly();
//	m_dwCommandID	[ 9] = ID_TOOL_BEZILINE;
//	m_pTool			[ 9] = new FCToolBezier();
//	m_dwCommandID	[10] = ID_TOOL_ARC;
//	m_pTool			[10] = new FCToolArc();
//	m_dwCommandID	[11] = ID_TOOL_RICH_TEXT;
//	m_pTool			[11] = new FCToolRichText();
//	m_dwCommandID	[12] = ID_TOOL_POINT;
//	m_pTool			[12] = new FCToolPoint();
//	m_dwCommandID	[13] = ID_TOOL_PEN_LABEL_PUT;
//	m_pTool			[13] = new FCToolLabelPut();
//	m_dwCommandID	[14] = ID_TOOL_LINK;
//	m_pTool			[14] = new FCToolLink();
//	m_dwCommandID	[15] = ID_TOOL_POLY_ARROW;
//	m_pTool			[15] = new FCToolArrowTmpl<FCToolPoly>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
//	m_dwCommandID	[16] = ID_TOOL_BEZIER_ARROW;
//	m_pTool			[16] = new FCToolArrowTmpl<FCToolBezier>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
//	m_dwCommandID	[17] = ID_TOOL_WIDE_POLY;
//	m_pTool			[17] = new FCToolWidePoly();
//	m_dwCommandID	[18] = ID_TOOL_WIDE_BEZIER;
//	m_pTool			[18] = new FCToolWideBezier();
//	m_dwCommandID	[19] = ID_TOOL_WIDE_POLY_ARROW;
//	m_pTool			[19] = new FCToolArrowTmpl<FCToolWidePoly>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
//	m_dwCommandID	[20] = ID_TOOL_WIDE_BEZIER_ARROW;
//	m_pTool			[20] = new FCToolArrowTmpl<FCToolWideBezier>(TRUE, NULL, &FCUGArrowParams(FDUG_ARW_TYPE_TYPICAL, FDUG_ARW_STYL_ARROW_C1, 3, 0));
//	m_dwCommandID	[21] = ID_TOOL_TEXT_PUT;
//	m_pTool			[21] = new FCToolTextPut();
//	m_dwCommandID	[22] = ID_TOOL_CHIP_PUT;
//	m_pTool			[22] = new FCToolChipPut();
//	m_dwCommandID	[23] = ID_TOOL_TABLE;
//	m_pTool			[23] = new FCToolTable();
//	m_dwCommandID	[24] = DWORD(-1);
//	m_pTool			[24] = new FCToolPolyEdit();
//	m_dwCommandID	[25] = DWORD(-1);
//	m_pTool			[25] = new FCToolLineEdit();
//	m_dwCommandID	[26] = DWORD(-1);
//	m_pTool			[26] = new FCToolRoundRectEdit();
//	m_dwCommandID	[27] = DWORD(-1);
//	m_pTool			[27] = new FCToolArcEdit();
//	m_dwCommandID	[28] = ID_TOOL_EDIT_RICH_TEXT;
//	m_pTool			[28] = new FCToolRichEdit();
//	m_dwCommandID	[29] = DWORD(-1);
//	m_pTool			[29] = new FCToolOleEdit();
//	m_dwCommandID	[30] = DWORD(-1);
//	m_pTool			[30] = new FCToolGroupEdit();
//	m_dwCommandID	[31] = DWORD(-1);
//	m_pTool			[31] = new FCToolTableEdit();
//	m_dwCommandID	[32] = DWORD(-1);
//	m_pTool			[32] = NULL;
//	m_dwCommandID	[33] = DWORD(-1);
//	m_pTool			[33] = NULL;
//	m_dwCommandID	[34] = DWORD(-1);
//	m_pTool			[34] = NULL;
//	m_dwCommandID	[35] = DWORD(-1);
//	m_pTool			[35] = NULL;
//	m_dwCommandID	[36] = DWORD(-1);
//	m_pTool			[36] = NULL;
//	m_dwCommandID	[37] = DWORD(-1);
//	m_pTool			[37] = NULL;
//	m_dwCommandID	[38] = DWORD(-1);
//	m_pTool			[38] = NULL;
//	m_dwCommandID	[39] = DWORD(-1);
//	m_pTool			[39] = NULL;
//
//	//----- _xZkqqHx_jFnCiPfHjHhAiDgDiBfLiDiLiDgFiBfLiDhFiDiL_xHqqkZx_ -----
//
//	m_typeObject	[0] = FDOJ_POLY;
//	m_pEditTool		[0] = m_pTool[24];
//	m_typeObject	[1] = FDOJ_LINE;
//	m_pEditTool		[1] = m_pTool[25];
//	m_typeObject	[2] = FDOJ_ROUND_RECT;
//	m_pEditTool		[2] = m_pTool[26];
//	m_typeObject	[3] = FDOJ_ARC;
//	m_pEditTool		[3] = m_pTool[27];
//	m_typeObject	[4] = FDOJ_OLE;
//	m_pEditTool		[4] = m_pTool[29];
//	m_typeObject	[5] = FDOJ_GROUP;
//	m_pEditTool		[5] = m_pTool[30];
//	m_typeObject	[6] = FDOJ_TABLE;
//	m_pEditTool		[6] = m_pTool[31];
//----- 05.07.15 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (GetTool(iTool) != NULL)
			GetTool(iTool)->OnViewCreate();
	}
} // FCToolManager::Initialize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::Terminate
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiDhNiDgMiBfLiDfHiDiDjCiGiCmMiDgDiBfLiDiLiCmMiPeJjHlJiPiIjHjNiCpAiNhDiCkEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.13 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCToolManager::Terminate ()
{
	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (GetTool(iTool) != NULL)
			GetTool(iTool)->OnViewDestroy();
	}

//----- 05.07.15 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	//----- _xZkqqHx_iDgDiBfLiDiLiCmMiNoNiPjM_xHqqkZx_ -----
//	for (int iC = 0; iC != FD_MAX_TOOL_ID; iC++)
//	{
//		if (m_pTool[iC] != NULL)
//		{
//			delete m_pTool[iC];
//			m_pTool[iC] = NULL;
//		}
//	}
//----- 05.07.15 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
} // FCToolManager::Terminate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::InitContents
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCmMjAnNjCoIiBeFjFmPjAjEiCpAiJpAiPjMiClFiBeBiPiJiKpKiPpDjBnEiCmJiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDoc	:_xZkqqHx_jDoAjFjEjFjEjFgJiCpAjDgPjIfOiClHiCoJiDgIiDeMiDiFiDiBiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCToolManager::InitContents (CFCFoundDoc* pDoc)
{
//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
//	{
//		//----- _xZkqqHx_iDgDiBfLiDiLiCmMiPiJiKpKiJlLiCpAiClHiCoJ_xHqqkZx_ ------
//		if (GetTool(iTool) != NULL)
//			GetTool(iTool)->InitContents();
//
//		//----- _xZkqqHx_iDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCpAjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCmJjDgPjIfOiClHiCoJ_xHqqkZx_ ------
//		if (GetTool(iTool) == NULL ||
//			GetTool(iTool)->GetInsideObject() == NULL)
//		{
//			// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCpAiDiKiDfFiBfLiDhFiClHiCoJiInHiCmJiLfFjFjEjFgJiCpAjDgPjIfOiBeC_xHqqkZx_
//			pDoc->RegisterObject((FCObjDynabase*)(-1), DWORD(iTool));
//		} else
//		{
//			// _xZkqqHx_jDoAjFjEjFjEjFgJiCmJjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCpAjAnNjCoIiBeC_xHqqkZx_
//			((FCObjDynabase*)GetTool(iTool)->GetInsideObject())->SetObjID(DWORD(iTool));
//			// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCpAjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCmJjDgPjIfOiBeC_xHqqkZx_
//			pDoc->RegisterObject((FCObjDynabase*)GetTool(iTool)->GetInsideObject(),
//									DWORD(iTool));
//		}
//	}
//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	struct my
	{
		/*************************************************************************
		 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	Register
		 *
		 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCpAiDiBiDjDiDgPiBfLjGjGjCfLiCnMiCmFiNmEiLeBjDeJiCmJjDgPjIfOiClHiCoJiBeC_xHqqkZx_
		 *
		 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDoc	:_xZkqqHx_jDgPjIfOiClHiCoJjAoGiCmMiDgIiDeMiDiFiDiBiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
		 *			pObj	:_xZkqqHx_jDgPjIfOiClHiCoJjFjEjFgJiCpAiOhHjCoIiBeCiClBiCmMjFjEjFgJiCmMiDiBiDjDiDgPiBfLiCmNjBfDiCmEjDgPjIfOiClDiCoKiCoJiBeC_xHqqkZx_
		 *			dwId	:_xZkqqHx_jDgPjIfOiClHiCoJ_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_ID_xZkqqHx_iCmNjDgPjIfOiCmJiOgHiCoNiCoKiCoJjDhIiCmJiJmBiOfKiClDiCoKiCoJiBeC_xHqqkZx_
		 *
		 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
		 *************************************************************************/
		static void Register (CFCFoundDoc* pDoc, FCObjDynabase* pObj, DWORD& dwId)
		{
			for (long lIndex = 0; lIndex != pObj->GetMemberSize(); lIndex++)
				Register(pDoc, pObj->GetMember(lIndex), dwId);
			pDoc->RegisterObject(pObj, dwId);
			dwId++;
		}
	};

	DWORD dwObjId = 0;
	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (GetTool(iTool) != NULL)
		//---- _xZkqqHx_iDgDiBfLiDiLiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_iDgDiBfLiDiLiCmMiPiJiKpKiJlLiCpAiClHiCoJiBeC_xHqqkZx_
			GetTool(iTool)->InitContents();
			//----- _xZkqqHx_iDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCpAjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCmJjDgPjIfOiClHiCoJ_xHqqkZx_ ------
			if (GetTool(iTool)->GetInsideObject() != NULL)
			{
				// _xZkqqHx_jDoAjFjEjFjEjFgJiCmJjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCpAjAnNjCoIiBeC_xHqqkZx_
				my::Register(pDoc, GetTool(iTool)->GetInsideObject(), dwObjId);
			}
		}
	}
	for (; dwObjId != FD_RESERVE_FOR_TOOL_OBJECT; dwObjId++)
	{
		// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCpAiDiKiDfFiBfLiDhFiClHiCoJiInHiCmJiLfFjFjEjFgJiCpAjDgPjIfOiBeC_xHqqkZx_
		pDoc->RegisterObject((FCObjDynabase*)(-1), dwObjId);
	}
//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCToolManager::InitContents.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::DeleteContents
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCmMjAnNjCoIiBeFjFmPjAjEiCpAiJpAiPjMiClFiBeBiPiJiKpKiPpDjBnEiCmJiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDoc	:_xZkqqHx_jDoAjFjEjFjEjFgJiCpAjDgPjIfOiClHiCoJiDgIiDeMiDiFiDiBiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.13 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCToolManager::DeleteContents (CFCFoundDoc* pDoc)
{
	DWORD dwObjId;
	for (dwObjId = 0; dwObjId != FD_RESERVE_FOR_TOOL_OBJECT; dwObjId++)
	{
		// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCpAiDiKiDfFiBfLiDhFiClHiCoJiInHiCmJiLfFjFjEjFgJiCpAjDgPjIfOiBeC_xHqqkZx_
		pDoc->RegisterObject((FCObjDynabase*)(-1), dwObjId);
	}
} // FCToolManager::DeleteContents.

//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::OutStream
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiPoOjFpBjDjJiCpAiDfIiDgHiDiKiBfLiDiAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar	:_xZkqqHx_iPgPjHmNjAoGiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDgGiBfLiDfOiDhEiDeIiBfLiDhNiDgCiDgHiCmNiImIiJlKiCmMjCmKiCoIiBeC_xHqqkZx_
// *			|_xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID|_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_|       _xZkqqHx_iDgGiBfLiDfO_xHqqkZx_       | _xZkqqHx_iBgDiBgD_xHqqkZx_ _xZkqqHx_iMeKiCoIjFnEiClFiBgA_xHqqkZx_
// *			|<-BYTE->|<---WORD--->|<---_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_--->|
// *
// *	   _xZkqqHx_iBgDiBgD_xHqqkZx_ |_xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID|_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_|       _xZkqqHx_iDgGiBfLiDfO_xHqqkZx_       |  0xff  |
// *			|<-BYTE->|<---WORD--->|<---_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_--->|<-BYTE->|
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCToolManager::OutStream (FCUndoArchive& ar) const
//{
//	//----- _xZkqqHx_iDgDiBfLiDiLiCmMjDoAjFjEjFjEjFgJiCpAiDfIiDgHiDiKiBfLiDiAiCmJiPgPjHmNiClHiCoJ_xHqqkZx_ ------
//	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
//	{
//		// _xZkqqHx_iCgIiCgDiCmJjBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKjGlDiCkCiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeCiDgDiBfLiDiLiCgIiCgDiCpA_xHqqkZx_
//		// _xZkqqHx_iPgPjHmNiClHiCoJiCmMiCmFiDfIiDeMiDgCiDhGiClFiCmEiCoAjDmHiCnNiNjOiCnNiCmJjGoCjBoIiCmNjGlDiCkCiBeC_xHqqkZx_
//		if (GetTool(iTool) == NULL) continue;
//		// _xZkqqHx_iDiBiDiCiDiKiDhEiDeAiDeDiDiLiCpAjAlGjAkMiBeC_xHqqkZx_
//		CMemFile fileWork;
//		// _xZkqqHx_iDgDiBfLiDiLjBkOjAkLiDfIiDgHiDiKiBfLiDiAiCpAiOoGjDlOiBeC_xHqqkZx_
//		GetTool(iTool)->OutStream(FCUndoArchive(&fileWork, FD_ARCHIVE_STORE, g_pDoc));
//		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCmMiOoGjDlOiBeC_xHqqkZx_
//		const WORD wDataSize = WORD(fileWork.GetLength());
//		// CMemFile_xZkqqHx_iCmMiDgPiDgCiDhEiDeAiCpAjAnIiCoIjHkDiClHiBeC_xHqqkZx_
//		BYTE* pData = fileWork.Detach();
//		// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
//		ar << BYTE(iTool);
//		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
//		ar << wDataSize;
//		// _xZkqqHx_iDgGiBfLiDfOiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
//		ar.Write(pData, wDataSize);
//		// CMemFile_xZkqqHx_iCmMiDgPiDgCiDhEiDeAiCpAiJpAjFpKiBeC_xHqqkZx_
//		free(pData);
//	}
//	// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
//	ar << BYTE(-1);
//} // FCToolManager::OutStream.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::InStream
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiPoOjFpBjDjJiCpAiDfIiDgHiDiKiBfLiDiAiCkJiCoHjDpMjHmNiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	fdar	:_xZkqqHx_jDpMjHmNiMlDiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCToolManager::InStream (FCUndoArchive& fdar)
//{
//// 03.04.29 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
////	FCUndoArchive fdar(ar);
//	BYTE	byTool;
//	WORD	wDataSize;
//	for (;;)
//	{
//		// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//		fdar >> byTool;
//		// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCmIiCoHiCmOiDiLiBfLiDhGiCpAiPeJjHlJiBeC_xHqqkZx_
//		if (byTool == BYTE(-1)) break;
//		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//		fdar >> wDataSize;
//		// _xZkqqHx_jBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKjGlDiCkCiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
//		if (GetTool(byTool) == NULL)
//		{
//			BYTEVector vData(wDataSize);
//			fdar.Read(vData.begin(), wDataSize);
//		} else
//		{
//			// _xZkqqHx_iDgDiBfLiDiLiCmJiDfIiDgHiDiKiBfLiDiAiCpAjDpMjHmNiClHiCoJiBeC_xHqqkZx_
//			GetTool(byTool)->InStream(fdar);
//		}
//	}
//} // FCToolManager::InStream.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::SkipStream
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfIiDgHiDiKiBfLiDiAiCmMiDgDiBfLiDiLiPoOjFpBiCpAiDfIiDeMiDgCiDhGiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar	:_xZkqqHx_jDpMjHmNiMlDiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jCiNiInD_xHqqkZx_>	static_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCToolManager::SkipStream (FCUndoArchive& ar)
//{
//	BYTE	byTool;
//	WORD	wDataSize;
//	for (;;)
//	{
//		// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//		ar >> byTool;
//		// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCmIiCoHiCmOiDiLiBfLiDhGiCpAiPeJjHlJiBeC_xHqqkZx_
//		if (byTool == BYTE(-1)) break;
//		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//		ar >> wDataSize;
//		// _xZkqqHx_iDgPiDgCiDhEiDeAiCpAiKgNjFnLiBeC_xHqqkZx_
//		BYTEVector vbyBuff(wDataSize);
//		// _xZkqqHx_iDgGiBfLiDfOiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//		ar.Read(vbyBuff.begin(), wDataSize);
//	}
//} // FCToolManager::SkipStream.
//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::OutStream
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiPoOjFpBjDjJiCpAiDfIiDgHiDiKiBfLiDiAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar				:_xZkqqHx_iPgPjHmNjAoGiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
 *			bIsOutObjectInfo:_xZkqqHx_jFjEjFgJiPoOjFpBiCpAiPgPjHmNiClHiCoJiCkJiCmHiCkEiCkJiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_iNmFiMoDiCmJiNoMiCoHiCoKiClNjFjEjFgJiCmMiDiKiDfIiDgHiCmIiCmHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDgGiBfLiDfOiDhEiDeIiBfLiDhNiDgCiDgHiCmNiImIiJlKiCmMjCmKiCoIiBeC_xHqqkZx_
 *
 *			| _xZkqqHx_jFjEjFgJ_xHqqkZx_ID  |_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_|       _xZkqqHx_iDgGiBfLiDfO_xHqqkZx_       | _xZkqqHx_iBgDiBgD_xHqqkZx_ _xZkqqHx_iMeKiCoIjFnEiClFiBgA_xHqqkZx_
 *			|<-DWORD->|<---WORD--->|<---_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_--->|
 *
 *	   _xZkqqHx_iBgDiBgD_xHqqkZx_ | _xZkqqHx_jFjEjFgJ_xHqqkZx_ID  |_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_|       _xZkqqHx_iDgGiBfLiDfO_xHqqkZx_       |DWORD(-1)|
 *			|<-DWORD->|<---WORD--->|<---_xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJ_xHqqkZx_--->|<-DWORD->|
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *			05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiBeC_xHqqkZx_
 *************************************************************************/
void FCToolManager::OutStream (FCUndoArchive& ar, BOOL bIsOutObjectInfo) const
{
	//----- _xZkqqHx_iDgDiBfLiDiLiCpAiDfIiDgHiDiKiBfLiDiAiCmJiPgPjHmNiClHiCoJ_xHqqkZx_ ------
	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (GetTool(iTool) != NULL)
		//---- _xZkqqHx_iDgDiBfLiDiLiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_iDiBiDiCiDiKiDhEiDeAiDeDiDiLiCpAjAlGjAkMiBeC_xHqqkZx_
			CMemFile fileWork;
			// _xZkqqHx_iDgDiBfLiDiLjBkOjAkLiDfIiDgHiDiKiBfLiDiAiCpAiOoGjDlOiBeC_xHqqkZx_
// 06.04.04 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//			GetTool(iTool)->OutStream(FCUndoArchive(&fileWork, FD_ARCHIVE_STORE, g_pDoc));
			GetTool(iTool)->OutStream(FCUndoArchive(&fileWork, FD_ARCHIVE_STORE, g_pDoc), bIsOutObjectInfo);
			// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCmMiOoGjDlOiBeC_xHqqkZx_
			const WORD wDataSize = WORD(fileWork.GetLength());
			// CMemFile_xZkqqHx_iCmMiDgPiDgCiDhEiDeAiCpAjAnIiCoIjHkDiClHiBeC_xHqqkZx_
			BYTE* pData = fileWork.Detach();
			// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
			ar << BYTE(iTool);
			// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
			ar << wDataSize;
			// _xZkqqHx_iDgGiBfLiDfOiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
			ar.Write(pData, wDataSize);
			// CMemFile_xZkqqHx_iCmMiDgPiDgCiDhEiDeAiCpAiJpAjFpKiBeC_xHqqkZx_
			free(pData);
		}
	}
	// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCpAiPgPjHmNiClHiCoJiBeC_xHqqkZx_
	ar << BYTE(-1);
} // FCToolManager::OutStream.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::InStream
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiPoOjFpBjDjJiCpAiDfIiDgHiDiKiBfLiDiAiCkJiCoHjDpMjHmNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	fdar	:_xZkqqHx_jDpMjHmNiMlDiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
 *			pDoc	:_xZkqqHx_jDoAjFjEjFjEjFgJiCpAjDgPjIfOiClHiCoJiDgIiDeMiDiFiDiBiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *			05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiBeC_xHqqkZx_
 *************************************************************************/
void FCToolManager::InStream (FCUndoArchive& fdar, CFCFoundDoc* pDoc)
{
	DWORD dwObjId;
	// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCpAiDeOiDiKiDeBiBeC_xHqqkZx_
	for (dwObjId = 0; dwObjId != FD_RESERVE_FOR_TOOL_OBJECT; dwObjId++)
		pDoc->RegisterObject(NULL, dwObjId);

	BYTE byTool;
	WORD wDataSize;
	for (;;)
	{
		// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
		fdar >> byTool;
		// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCmIiCoHiCmOiDiLiBfLiDhGiCpAiPeJjHlJiBeC_xHqqkZx_
		if (byTool == BYTE(-1)) break;
		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
		fdar >> wDataSize;
		// _xZkqqHx_jBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKjGlDiCkCiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
		if (GetTool(byTool) == NULL)
		{
			// _xZkqqHx_jBmOiJjOiClHiCoJjFjEjFgJiCkKjGlDiCkCiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
			fdar.Skip(wDataSize);
		} else
		{
			// _xZkqqHx_iDgDiBfLiDiLiCmJiDfIiDgHiDiKiBfLiDiAiCpAjDpMjHmNiClHiCoJiBeC_xHqqkZx_
			GetTool(byTool)->InStream(fdar);
		}
	}

	struct my
	{
		/*************************************************************************
		 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	Register
		 *
		 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCpAiDiBiDjDiDgPiBfLjGjGjCfLiCnMiCmFiNmEiLeBjDeJiCmJjDgPjIfOiClHiCoJiBeC_xHqqkZx_
		 *
		 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDoc	:_xZkqqHx_jDgPjIfOiClHiCoJjAoGiCmMiDgIiDeMiDiFiDiBiDjDiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
		 *			pObj	:_xZkqqHx_jDgPjIfOiClHiCoJjFjEjFgJiCpAiOhHjCoIiBeCiClBiCmMjFjEjFgJiCmMiDiBiDjDiDgPiBfLiCmNjBfDiCmEjDgPjIfOiClDiCoKiCoJiBeC_xHqqkZx_
		 *
		 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.07.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
		 *************************************************************************/
		static void Register (CFCFoundDoc* pDoc, FCObjDynabase* pObj)
		{
			for (long lIndex = 0; lIndex != pObj->GetMemberSize(); lIndex++)
				Register(pDoc, pObj->GetMember(lIndex));
			pDoc->RegisterObject(pObj, pObj->GetObjID());
		}
	};
	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (GetTool(iTool) != NULL &&
			GetTool(iTool)->GetInsideObject() != NULL)
		{
			// _xZkqqHx_jDoAjFjEjFjEjFgJiCmMjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCpAjDgPjIfOiBeC_xHqqkZx_
			my::Register(pDoc, GetTool(iTool)->GetInsideObject());
		}
	}
	// _xZkqqHx_iLpDiCkCiCmEiCkCiCoJ_xHqqkZx_ID_xZkqqHx_iCmNiLfFjFjEjFgJiCmFjGiEiCnPiCmEiCkIiCkNiBeC_xHqqkZx_
	for (dwObjId = 0; dwObjId != FD_RESERVE_FOR_TOOL_OBJECT; dwObjId++)
	{
		// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iDgFiBfLiDhFiDiLiCpAiDiKiDfFiBfLiDhFiClHiCoJiInHiCmJiLfFjFjEjFgJiCpAjDgPjIfOiBeC_xHqqkZx_
		if (pDoc->ObjID2Object(dwObjId) == NULL)
			pDoc->RegisterObject((FCObjDynabase*)(-1), dwObjId);
	}
} // FCToolManager::InStream.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::SkipStream
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfIiDgHiDiKiBfLiDiAiCmMiDgDiBfLiDiLiPoOjFpBiCpAiDfIiDeMiDgCiDhGiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar	:_xZkqqHx_jDpMjHmNiMlDiDfIiDgHiDiKiBfLiDiAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	static_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *			05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiBeC_xHqqkZx_
 *************************************************************************/
void FCToolManager::SkipStream (FCUndoArchive& ar)
{
	BYTE byTool;
	WORD wDataSize;
	for (;;)
	{
		// _xZkqqHx_iDgDiBfLiDiL_xHqqkZx_ID_xZkqqHx_iCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
		ar >> byTool;
		// _xZkqqHx_iPeJjHlJiDhNiBfLiDeOiCmIiCoHiCmOiDiLiBfLiDhGiCpAiPeJjHlJiBeC_xHqqkZx_
		if (byTool == BYTE(-1)) break;
		// _xZkqqHx_iDgGiBfLiDfOiDfEiDeDiDfJiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
		ar >> wDataSize;
		// _xZkqqHx_iDgGiBfLiDfOiCpAiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
		ar.Skip(wDataSize);
	}
} // FCToolManager::SkipStream.
//----- 05.07.14 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::GetTool
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCmJjBmOiJjOiClHiCoJiDgDiBfLiDiLiCpAjFnEiClHiBeCjGlDiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lIndex	:_xZkqqHx_iDgDiBfLiDiLiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCpAiOhHjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.05.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolBase* FCToolManager::GetTool (long lIndex) const
{
	return m_pTool[lIndex];
} // FCToolManager::GetTool.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::CommandID2ToolIndex
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCkJiCoHiDgDiBfLiDiLiDeDiDjDiDgGiDgCiDeOiDfIiCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	dwID	: _xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_ID_xZkqqHx_iCmJjBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_
 *			-1_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCToolManager::CommandID2ToolIndex (DWORD dwID) const
{
	for (long lIndex = 0; lIndex != FD_MAX_TOOL_ID; lIndex++)
	{
		if (m_dwCommandID[lIndex] == dwID)
			return lIndex;
	}
	return -1;
} // FCToolManager::CommandID2ToolIndex.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::CommandID2Tool
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCkJiCoHiDgDiBfLiDiLjFmPjAjEiCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	dwID	: _xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfO_xHqqkZx_.ID_xZkqqHx_iCmJjBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_
 *			NULL_xZkqqHx_iCpAjFnEiClH_xHqqkZx_.
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	98.09.30 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolBase* FCToolManager::CommandID2Tool (DWORD dwID) const
{
	long lIndex = CommandID2ToolIndex(dwID);
	if (0 <= lIndex)
		return GetTool(lIndex);
	else
		return NULL;
} // FCToolManager::CommandID2Tool.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::Tool2ToolIndex
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfOiCkJiCoHiDgDiBfLiDiLiDeDiDjDiDgGiDgCiDeOiDfIiCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pTool	:_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfOiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDeDiDjDiDgGiDgCiDeOiDfIiBeCiDgDiBfLiDiLiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmNiBeB_xHqqkZx_-1_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCToolManager::Tool2ToolIndex (const FCToolBase* pTool) const
{
	for (long lIndex = 0; lIndex != FD_MAX_TOOL_ID; lIndex++)
	{
		if (m_pTool[lIndex] == pTool)
			return lIndex;
	}
	return -1;
} // FCToolManager::Tool2ToolIndex.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::Tool2CommandID
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfOiCkJiCoHiDfCiDhNiDjDiDgI_xHqqkZx_ID_xZkqqHx_iCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	toolp	: _xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfO_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID._xZkqqHx_jBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ DWORD(-1) _xZkqqHx_iCpAjFnEiClH_xHqqkZx_.
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	98.09.30 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
DWORD FCToolManager::Tool2CommandID (const FCToolBase* toolp) const
{
	for (int iTool = 0; iTool != FD_MAX_TOOL_ID; iTool++)
	{
		if (m_pTool[iTool] == toolp)
			return m_dwCommandID[iTool];
	}
	return DWORD(-1);
} // FCToolManager::Tool2CommandID.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::GetEditTool
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCmJjBmOiJjOiClHiCoJjFnCiPfHiDgDiBfLiDiLiCpAjFnEiClHiBeCjGlDiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lIndex	:_xZkqqHx_jFnCiPfHiDgDiBfLiDiLiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCpAiOhHjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFnCiPfHiDgDiBfLiDiLiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolBase* FCToolManager::GetEditTool (long lIndex) const
{
	return m_pEditTool[lIndex];
} // FCToolManager::GetEditTool.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::ObjTypeToEditTool
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCmMiDfOiDeDiDhGiCkJiCoHjFnCiPfHiDgDiBfLiDiLiCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	type	:_xZkqqHx_jFjEjFgJiCmMiDfOiDeDiDhGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgDiBfLiDiLiCnGiCmMiDhMiDeDiDjDiDfOiBeCjBmOiJjOiClHiCoJiDgDiBfLiDiLiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.04.23 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCToolBase* FCToolManager::ObjTypeToEditTool (FTObjectType type) const
{
	for (int ii = 0; ii != FD_MAX_EDIT_TOOL; ii++)
	{
		if (m_typeObject[ii] == type)
			return m_pEditTool[ii];
	}
	return NULL;
} // FCToolManager::ObjTypeToEditTool.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCToolManager::EditToolToObjType
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFnCiPfHiDgDiBfLiDiLiCkJiCoHjFjEjFgJiCmMiDfOiDeDiDhGiCpAiOoGiCoIiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pTool	:_xZkqqHx_jFnCiPfHiDgDiBfLiDiLiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCmMiDfOiDeDiDhGiBeCjBmOiJjOiClHiCoJjFjEjFgJiDfOiDeDiDhGiCkKiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_
 *			FDOJ_NONE_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.04.23 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FTObjectType FCToolManager::EditToolToObjType (const FCToolBase* pTool) const
{
	for (int ii = 0; ii != FD_MAX_EDIT_TOOL; ii++)
	{
		if (m_pEditTool[ii] == pTool)
			return m_typeObject[ii];
	}
	return FDOJ_NONE;
} // FCToolManager::EditToolToObjType.
