#include "stdafx.h"
#include "DynamicDraw.h"	// For FFGetApp, IDS_XX.
#include "FoundDoc.h"		// For g_pDoc.
#include "HiForkTable.h"	// For FCHiForkTable.
#include "UtilFile.h"		// For SplitFileName.
#include "UtilStdLib.h"		// For FFInsert.
#include "UtilMisc.h"		// For operator < (GUID, GUID)
#include "UtilStr.h"		// For FFLoadString.
#include "UtilStdLib.h"		// For m1_for.
#include "DbLock.h"			// For FCLockVar.
#include "RegData.h"		// For InitRegFont.
#include "HTreeRec.h"		// For FCHTreeRec.
#include "HiProject.h"		// For FCHiProject.
#include "DynamicDb.h"		// For g_pFileServer.
#include "HTreeManager.h"	// This header.

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

#define FD_HT_EXP_BOX_W			20
#define FD_HT_EXP_BOX_GAP		10		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhCiDiFiBfLiCmFiOgHiCoNiCoKiCoJiBeBjDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiDeNiDiDiDgCiDhGiBeC_xHqqkZx_

#define FD_HT_EXP_BOX_W_MIN		1
#define FD_HT_EXP_BOX_GAP_MIN	1		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhCiDiFiBfLiCmFiOgHiCoNiCoKiCoJiBeBjDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiDeNiDiDiDgCiDhGiBeC_xHqqkZx_


// _xZkqqHx_iImIiJlKiCmN_xHqqkZx_HTreeRec.doc_xZkqqHx_iCpAiOfBiPmGiBeC_xHqqkZx_
#define FD_HT_STD_FONT_HEIGHT	13		// _xZkqqHx_jFfHiPiAjDeJiCmIiDhEiDeIiDjDiDgHiNiCiBeCiDhEiDeIiDjDiDgHiNiCiCkKiClBiCmMjCgMiCmFiCkAiCoJiCmGiCkLiCmMiBeB_xHqqkZx_
										// _xZkqqHx_jDeLjDjGiCmIjCgMiCpAiImIiJlKiCmFjCoIiLgAiClFiCmEiCkCiCoJiBeC_xHqqkZx_
#define FD_HT_INTER_BOX_X		2		// _xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIiBeBjGoOiIpDiBeBjDlBjDpMjApMiOgOjDfPiKnEiCmMjAiFjFlNjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
#define FD_HT_INTER_BOX_Y		10		// _xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIiBeBjGoOiIpDiBeBjDlBjDpMjApMiOgOjDfPiKnEiCmMjAiCjClMjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
#define FD_HT_INTRO_GAP_Y		5		// _xZkqqHx_jBePiJpBiCmMjFkKiKpCiNmAjFfHiCkJiCoHiOjPiCmMjFkKiKpCiNmAjFfHiCnMiCmFiCmMiLjHjHkDiCmMiNmFiPkMjCgMiBeC_xHqqkZx_
#define FD_HT_BOX_WIDTH_L		20
#define FD_HT_BOX_INTRO_Y		15		// _xZkqqHx_jDlBjDpMjApMiBgJiPgDiBgKiCmMiLjHjHkDiCmMiNmFiPkMjCgMiBeC_xHqqkZx_
#define FD_HT_BOX_GAP_Y			3
#define FD_HT_LIFE_WIDTH_H		3
#define FD_HT_ARW_WIDTH_H		8
#define FD_HT_ARW_HEIGHT		20
#define FD_HT_LINE_INTRO_X		20		// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiCmJiCkIiCkPiCoJiBeBiDiJiDhIiDiLiCnGiCmMjDlBjDpMjApMiCmMjClHiClDiBeC_xHqqkZx_
#define FD_HT_BOX_ICON_W			14	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmMjFjNiBeC_xHqqkZx_
#define FD_HT_BOX_ICON_H			14	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmMiNiCiClDiBeC_xHqqkZx_
#define FD_HT_HI_FORK_TAG_GAP_X	2	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmGjHjKjHpAjApMiCmMiDeNiDiDiDgCiDhGiBeC_xHqqkZx_
// 06.05.20 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//#define FD_HT_INTER_LINE_X			(FD_HT_BOX_WIDTH_L + FD_HT_LIFE_WIDTH_H + 7)		// _xZkqqHx_jHjKjHpAjApMiKnEiCmMjAiFjFlNjFpLiMpMiCmMiLjHjHkDiBeCiClBiCmMjEhLjAjEiCmFiLjHjHkDiCpAiLpDiCkPiCmEiCkCiCkNiBeC_xHqqkZx_
#define FD_HT_INTER_LINE_X			(FD_HT_BOX_WIDTH_L + FD_HT_LIFE_WIDTH_H + 8)		// _xZkqqHx_jHjKjHpAjApMiKnEiCmMjAiFjFlNjFpLiMpMiCmMiLjHjHkDiBeCiClBiCmMjEhLjAjEiCmFiLjHjHkDiCpAiLpDiCkPiCmEiCkCiCkNiBeC_xHqqkZx_
																						// +7_xZkqqHx_iClOiCmGiJhAiMoKjEmFiCmFjGoOiIpDjAoGjCfLiCmGiDhLiDgCiDeOiDfIiCkKiCoNiClIiCkJiCmJiPgEiCmIiCoJiCmMiCmF_xHqqkZx_+8_xZkqqHx_iCmJiBeC_xHqqkZx_
#define FD_HT_INTER_LINE_Y			5		// _xZkqqHx_jHjKjHpAjApMiKnEiCmMjAiCjClMjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
// _xZkqqHx_iDgFiDeMiDfIiDgHiKnGjIeBiCmMjCoIiLgAiBeC_xHqqkZx_
#define FD_HT_BOX_ICON_MARGIN_L		2
#define FD_HT_BOX_ICON_MARGIN_T		2
#define FD_HT_BOX_TEXT_MARGIN_L		4
#define FD_HT_BOX_TEXT_MARGIN_T		4
#define FD_HT_BOX_TEXT_MARGIN_R		4
#define FD_HT_BOX_TEXT_MARGIN_B		4
#define FD_HT_BOX_TEXT_LINE_GAP		2
#define FD_HT_BOX_TEXT_COLUMN		6
#define FD_HT_BOX_TEXT_LINE			2

#define FD_HT_INTER_BOX_X_MIN		1		// _xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIiBeBjGoOiIpDiBeBjDlBjDpMjApMiOgOjDfPiKnEiCmMjAiFjFlNjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
#define FD_HT_INTER_BOX_Y_MIN		1		// _xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIiBeBjGoOiIpDiBeBjDlBjDpMjApMiOgOjDfPiKnEiCmMjAiCjClMjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
#define FD_HT_INTRO_GAP_Y_MIN		1		// _xZkqqHx_jBePiJpBiCmMjFkKiKpCiNmAjFfHiCkJiCoHiOjPiCmMjFkKiKpCiNmAjFfHiCnMiCmFiCmMiLjHjHkDiCmMiNmFiPkMjCgMiBeC_xHqqkZx_
#define FD_HT_BOX_WIDTH_L_MIN		1
#define FD_HT_BOX_INTRO_Y_MIN		1		// _xZkqqHx_jDlBjDpMjApMiBgJiPgDiBgKiCmMiLjHjHkDiCmMiNmFiPkMjCgMiBeC_xHqqkZx_
#define FD_HT_BOX_GAP_Y_MIN			1
#define FD_HT_LIFE_WIDTH_H_MIN		1
#define FD_HT_ARW_WIDTH_H_MIN		1
#define FD_HT_ARW_HEIGHT_MIN		1
#define FD_HT_LINE_INTRO_X_MIN		1		// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiCmJiCkIiCkPiCoJiBeBiDiJiDhIiDiLiCnGiCmMjDlBjDpMjApMiCmMjClHiClDiBeC_xHqqkZx_
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//#define FD_HT_BOX_ICON_W_MIN			14	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmMjFjNiBeC_xHqqkZx_
//#define FD_HT_BOX_ICON_H_MIN			14	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmMiNiCiClDiBeC_xHqqkZx_
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
#define FD_HT_HI_FORK_TAG_GAP_X_MIN	2	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmGjHjKjHpAjApMiCmMiDeNiDiDiDgCiDhGiBeC_xHqqkZx_
#define FD_HT_INTER_LINE_X_MIN		(FD_HT_BOX_WIDTH_L_MIN + FD_HT_LIFE_WIDTH_H_MIN + 7)		// _xZkqqHx_jHjKjHpAjApMiKnEiCmMjAiFjFlNjFpLiMpMiCmMiLjHjHkDiBeCiClBiCmMjEhLjAjEiCmFiLjHjHkDiCpAiLpDiCkPiCmEiCkCiCkNiBeC_xHqqkZx_
#define FD_HT_INTER_LINE_Y_MIN		5		// _xZkqqHx_jHjKjHpAjApMiKnEiCmMjAiCjClMjFpLiMpMiCmMiNmFjCoBiLjHjHkDiBeC_xHqqkZx_
// _xZkqqHx_iDgFiDeMiDfIiDgHiKnGjIeBiCmMjCoIiLgAiBeC_xHqqkZx_
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//#define FD_HT_BOX_ICON_MARGIN_L_MIN		2
//#define FD_HT_BOX_ICON_MARGIN_T_MIN		2
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
#define FD_HT_BOX_TEXT_MARGIN_L_MIN		1
#define FD_HT_BOX_TEXT_MARGIN_T_MIN		1
#define FD_HT_BOX_TEXT_MARGIN_R_MIN		1
#define FD_HT_BOX_TEXT_MARGIN_B_MIN		1
#define FD_HT_BOX_TEXT_LINE_GAP_MIN		1
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//#define FD_HT_BOX_TEXT_COLUMN_MIN		1
//#define FD_HT_BOX_TEXT_LINE_MIN			1
//----- 04.11.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/////////////////////////////////////////////////////////////////////////////
// FCDocRecExtData _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjDiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::FCDocRecExtData
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDhEiDeIiDiLiDgHiDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCDocRecExtData::FCDocRecExtData (const FCProjectCopy* pProjectCopy)
				:BASE_CLASS(pProjectCopy)
{
} // FCDocRecExtData::FCDocRecExtData.

//----- 06.01.26 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetSuperDocId
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iPoDiImKjHjKjHpAjFlGiPjBiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iPoDiImKjHjKjHpAjFlGiPjBiCmM_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//long FCDocRecExtData::GetSuperDocId () const
//{
//	return m_lSuperDocId;			// _xZkqqHx_iPoDiImKjHjKjHpAjFlGiPjBiBeC_xHqqkZx_
//} // FCDocRecExtData::GetSuperDocId.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetDocTitle
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjBjGlMiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//const WString& FCDocRecExtData::GetDocTitle () const
//{
//	return m_wstrDocTitle;			// _xZkqqHx_jHjKjHpAjFlGiPjBjGlMiBeC_xHqqkZx_
//} // FCDocRecExtData::GetDocTitle.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetVersion
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjBiDgPiBfLiDfHiDiHiDjDiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//const WString& FCDocRecExtData::GetVersion () const
//{
//	return m_wstrVersion;			// _xZkqqHx_jHjKjHpAjFlGiPjBiDgPiBfLiDfHiDiHiDjDiBeC_xHqqkZx_
//} // FCDocRecExtData::GetVersion.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetUserId
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//GUID FCDocRecExtData::GetUserId () const
//{
//	return m_guidUserId;			// _xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
//} // FCDocRecExtData::GetUserId.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetDate
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjBiNoMjAkMjDpKiBeC_xHqqkZx_UTC_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//FDSECTIME FCDocRecExtData::GetDate () const
//{
//	return m_fdstDate;				// _xZkqqHx_jHjKjHpAjFlGiPjBiNoMjAkMjDpKiBeC_xHqqkZx_UTC_xZkqqHx_iBeC_xHqqkZx_
//} // FCDocRecExtData::GetDate.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetComment
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjBiDfCiDiBiDjDiDgHiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//const WString& FCDocRecExtData::GetComment () const
//{
//	return m_wstrComment;			// _xZkqqHx_jHjKjHpAjFlGiPjBiDfCiDiBiDjDiDgHiBeC_xHqqkZx_
//} // FCDocRecExtData::GetComment.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetIsLogCommandUserId
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFnCiPfHiOnCiPoOjFpBiCmMiDiNiDePiCpAiLeMjIfOiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//BOOL FCDocRecExtData::GetIsLogCommandUserId () const
//{
//	return m_bIsLogCommandUserId;	// _xZkqqHx_jFnCiPfHiOnCiPoOjFpBiCmMiDiNiDePiCpAiLeMjIfOiBeC_xHqqkZx_
//} // FCDocRecExtData::GetIsLogCommandUserId.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetHtreeScore
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAiDfIiDfCiDeBiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//double FCDocRecExtData::GetHtreeScore () const
//{
//	return m_dHtreeScore;			// _xZkqqHx_jHjKjHpAiDfIiDfCiDeBiBeC_xHqqkZx_
//} // FCDocRecExtData::GetHtreeScore.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	=
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFlGiPjBiPoOjFpBiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCDocRecExtData::operator = (FCHiDocumentRec& rec)
//{
//	rec.GetValue(	NULL,					// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiKeKiOgOiImKjChFiBeC_xHqqkZx_
//					&m_lSuperDocId,			// _xZkqqHx_iPoDiImKjHjKjHpAjFlGiPjBiBeC_xHqqkZx_
//					&m_wstrDocTitle,		// _xZkqqHx_jHjKjHpAjFlGiPjBjGlMiBeC_xHqqkZx_
//					&m_wstrVersion,			// _xZkqqHx_jHjKjHpAjFlGiPjBiDgPiBfLiDfHiDiHiDjDiBeC_xHqqkZx_
//					&m_guidUserId,			// _xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
//					&m_fdstDate,			// _xZkqqHx_jHjKjHpAjFlGiPjBiNoMjAkMjDpKiBeC_xHqqkZx_UTC_xZkqqHx_iBeC_xHqqkZx_
//					&m_wstrComment,			// _xZkqqHx_jHjKjHpAjFlGiPjBiDfCiDiBiDjDiDgHiBeC_xHqqkZx_
//					&m_bIsLogCommandUserId,	// _xZkqqHx_jFnCiPfHiOnCiPoOjFpBiCmMiDiNiDePiCpAiLeMjIfOiBeC_xHqqkZx_
//					&m_dHtreeScore);		// _xZkqqHx_jHjKjHpAiDfIiDfCiDeBiBeC_xHqqkZx_
//} // FCDocRecExtData::operator.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetHintText
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhBiDjDiDgHiDgFiDeMiDfIiDgHiCpAiOoGjDlOiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//WString FCDocRecExtData::GetHintText (const FCHTreeManager* pHtreeManager) const
//{
//	// _xZkqqHx_iOjOiKnEiDfGiDePiDgJiDiLiCmMiOjOiKnEiBeC_xHqqkZx_
//	COleDateTime otmDate = FdsecToFiletime(GetDate());
//	// _xZkqqHx_jHoBiBeG_xHqqkZx_2004_xZkqqHx_jEeO_xHqqkZx_8_xZkqqHx_iMiO_xHqqkZx_19_xZkqqHx_jDpK_xHqqkZx_ 0_xZkqqHx_iOjO_xHqqkZx_15_xZkqqHx_jFkK_xHqqkZx_
//	// IDS_FORM_DATE_TIME_LONG = "%#Y_xZkqqHx_jEeO_xHqqkZx_%#m_xZkqqHx_iMiO_xHqqkZx_%#d %#H:%#M"
//	WString wstrDate = TStrToWStr(otmDate.Format(FFLoadString(IDS_FORM_DATE_TIME_LONG)));
//	// IDS_FORM_HTREE_PROPERTY_B =
//	// _xZkqqHx_iOoNjFmK_xHqqkZx_:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_\r\n
//	// _xZkqqHx_iDfOiDeDiDgHiDiL_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iDgPiBfLiDfHiDiHiDjD_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iNoMjAkMjDpKiOjO_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iNoMjAkMiOnC_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iDfCiDiBiDjDiDgH_xHqqkZx_:%s
//	return FormatResString(	IDS_FORM_HTREE_PROPERTY_B,
//							GetDocTitle(),
//							GetVersion(),
//							wstrDate.c_str(),
//							pHtreeManager->UserIdToUserName(GetUserId()),
//							GetComment());
//} // FCDocRecExtData::GetHintText.
//----- 06.01.26 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetSubDocumentId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCmMiIoKjHjHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const longVector& FCDocRecExtData::GetSubDocumentId () const
{
return m_vSubDocId;
} // FCDocRecExtData::GetSubDocumentId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetRootPoint
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmMiBeBjDlBjDpMjApMiCmMiOgOjDfPiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const CPoint& FCDocRecExtData::GetRootPoint () const
{
	return m_ptRoot;
} // FCDocRecExtData::GetRootPoint.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetBoxPoint
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmMiBeBjHjKjHpAiDhLiDgCiDeOiDfIiCmMiNlGiPoDiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const CPoint& FCDocRecExtData::GetBoxPoint () const
{
	return m_ptBox;
} // FCDocRecExtData::GetBoxPoint.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::GetIsSubTreeExpanded
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCmMjFfMiOkGiCkKjDfHiKeKiClDiCoKiCmEiCkCiCoJiCkJiCpAjFnEiClHiBeI_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCDocRecExtData::GetIsSubTreeExpanded () const
{
	return m_bSubTreeExpanded;
} // FCDocRecExtData::GetIsSubTreeExpanded.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::SetSubDocumentId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfEiDhFiDgIiDeMiDiFiDiBiDjDiDgHiCpAjAnNjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCDocRecExtData::SetSubDocumentId (long lDocumentId)
{
	m_vSubDocId.push_back(lDocumentId);
} // FCDocRecExtData::SetSubDocumentId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::SetRootPoint
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmMiBeBjDlBjDpMjApMiCmMiOgOjDfPiCpAjAnNjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCDocRecExtData::SetRootPoint (const CPoint& lgptRoot)
{
	m_ptRoot = lgptRoot;
} // FCDocRecExtData::SetRootPoint.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::SetBoxPoint
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmMiBeBjHjKjHpAiDhLiDgCiDeOiDfIiCmMiNlGiPoDiCpAjAnNjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCDocRecExtData::SetBoxPoint (const CPoint& lgptBox)
{
	m_ptBox = lgptBox;
} // FCDocRecExtData::SetBoxPoint.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtData::SetIsSubTreeExpanded
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCmMjFfMiOkGiCkKjDfHiKeKiClDiCoKiCmEiCkCiCoJiCkJiCpAjAnNjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCDocRecExtData::SetIsSubTreeExpanded (BOOL bIsSubTreeExpanded)
{
	m_bSubTreeExpanded = bIsSubTreeExpanded;
} // FCDocRecExtData::SetIsSubTreeExpanded.

/////////////////////////////////////////////////////////////////////////////
// FCDocRecExtDataFactory _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjDiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtDataFactory::Create
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHiDiMiDfCiBfLiDgIiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pProjectCopy	:_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfCiDhDiBfLiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHiDiMiDfCiBfLiDgIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCDocumentRecCopy* FCDocRecExtDataFactory::Create (const FCProjectCopy* pProjectCopy) const
{
	return new FCDocRecExtData(pProjectCopy);
} // FCDocRecExtDataFactory::Create.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCDocRecExtDataFactory::Delete
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHiDiMiDfCiBfLiDgIiCpAiNoNiPjMiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pDocRecCopy	:_xZkqqHx_iNoNiPjMiClHiCoJiDeJiDhFiDfHiDeGiDeOiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCDocRecExtDataFactory::Delete (FCDocumentRecCopy* pDocRecCopy) const
{
	delete (FCDocRecExtData*)pDocRecCopy;
} // FCDocRecExtDataFactory::Delete.

/////////////////////////////////////////////////////////////////////////////
// FCHTreeManager _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjDiBeC_xHqqkZx_

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::FCHTreeManager
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCHTreeManager::FCHTreeManager ()
{
	// _xZkqqHx_jFmPjAjEiCpAiPiJiKpKiJlLiBeC_xHqqkZx_
	Clear();
	// _xZkqqHx_iImIiJlKiCmN_xHqqkZx_ Clear _xZkqqHx_iCmFiCmNiPiJiKpKiJlLiClDiCoKiCmIiCkCiBeC_xHqqkZx_
	m_dFontZoom = 1.0;		// _xZkqqHx_iDhEiDeIiDjDiDgHiDfJiBfLiDiAiBeC_xHqqkZx_
	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfCiDhDiBfLiCpAiPiJiKpKiJlLiBeC_xHqqkZx_
	m_projectCopy.SetFactory(&m_factory);
} // FCHTreeManager::FCHTreeManager.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::~FCHTreeManager
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCHTreeManager::~FCHTreeManager ()
{
} // FCHTreeManager::~FCHTreeManager.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectPath
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	FCHTreeManager_xZkqqHx_iCkKjFnLiOjNiClHiCoJiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDhEiDeAiDeDiDiLiDhAiDfIiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiDhEiDeAiDeDiDiLiDhAiDfIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
WString FCHTreeManager::GetProjectPath () const
{
	return m_projectCopy.GetFilePath();
} // FCHTreeManager::GetProjectPath.

//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::SetProjectPath
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	FCHTreeManager_xZkqqHx_iCkKjFnLiOjNiClHiCoJiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDhEiDeAiDeDiDiLiDhAiDfIiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wcpFilePath	:_xZkqqHx_iDhEiDeAiDeDiDiLiDhAiDfIiCpAiOhHjCoIiBeCiDhAiDfIiCpAiPmBiLiOiClHiCoJiPoKiNiHiCmN_xHqqkZx_ NULL_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCHTreeManager::SetProjectPath (const wchar_t* wcpFilePath)
//{
//	if (wcpFilePath == NULL)
//		wcpFilePath = L"";
//	if (wcscmp(GetProjectPath(), wcpFilePath) != 0)
//	{
//		Clear();
//		m_project = g_pFileServer->GetTopGroup(HString(wcpFilePath));
//		m_autoLockProjectRead.SetTable(HString(wcpFilePath), CONTROL_TABLE_ID);
//	}
//} // FCHTreeManager::SetProjectPath.
//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::Clear
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jDoAjFjEiCmMjFmPjAjEiCpAiDeOiDiKiDeBiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::Clear ()
{
//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	m_project.Clear();
//	m_autoLockProjectRead.Clear();		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDiNiDgCiDeOjHhAjFmPjAjEiBeC_xHqqkZx_
//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	m_projectCopy.Clear();
//----- 06.01.26 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	m_wstrProjectTitle.Empty();			// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiDfOiDeDiDgHiDiLiBeC_xHqqkZx_
//	m_fdstProjectDate = 0;				// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiNoMjAkMjDpKiOjOiBeC_xHqqkZx_
//	m_bProjectIsUnknownFile = FALSE;	// _xZkqqHx_iIoKiOjOjDeJiDhGiDiNiDfHiDeGiDeOiDgHiCkJiBeI_xHqqkZx_
//	m_guidProjectUserId = GUID_NULL;	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiNoMjAkMiOnC_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
//	m_wstrProjectComment.Empty();		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiDfCiDiBiDjDiDgHiBeC_xHqqkZx_
//	m_mpUserIdToName.clear();			// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmM_xHqqkZx_UserId->Name_xZkqqHx_iBeC_xHqqkZx_
//----- 06.01.26 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	m_ptMostRightBottom = CPoint(0,0);	// _xZkqqHx_iNmFiJeFiJlKiCmMiNmAjFfHiBeCjGnIiNfMjBkCiCkKjAoIiCnPiCoJjBoFiCkLiClDiBeC_xHqqkZx_
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	m_mpDocIdToDocRecExt.clear();		// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->FCDocRecData_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
	m_mpDocIdToHTreeRec.clear();		// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->FCHTreeRec_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
	m_nViewMode = FDHT_VMODE_NONE;		// _xZkqqHx_iDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	// _xZkqqHx_iDhEiDeIiDjDiDgHiDfJiBfLiDiA_xHqqkZx_(m_dFontZoom)_xZkqqHx_iCmNiPiJiKpKiJlLiClFiCmIiCkCiBeC_xHqqkZx_
	m_vTopDocId.clear();				// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
	m_mpTreeZoom.clear();				// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->_xZkqqHx_iDfJiBfLiDiAiDgFiBfLiDhFiDiLiBgJjHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBgK_xHqqkZx_
	m_mpBranchZoom.clear();				// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->_xZkqqHx_iDfJiBfLiDiAiDgFiBfLiDhFiDiLiBgJiMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBgK_xHqqkZx_
} // FCHTreeManager::Clear.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcLayout
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiClHiCoJiBeCiDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmMiPoKiNiHiCmN_xHqqkZx_
 *					 _xZkqqHx_jFhDjHhGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiKoOiCmDiCkCiCmEiBeBiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::CalcLayout (long lDocId)
{
	switch (GetViewMode())
	{
	case FDHT_VMODE_PROJECT:// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
		CalcLayoutProject();
		break;
	case FDHT_VMODE_TREE:	// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
		CalcLayoutTree(lDocId);
		break;
	case FDHT_VMODE_BRANCH:	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
		CalcLayoutBranch(lDocId);
		break;
	}
} // FCHTreeManager::CalcLayout.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::DocumentIdToHTreeRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCkJiCoHiBeB_xHqqkZx_FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCpAjAlGjAkMiClHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iKpJiCmJjBlGiNnNiClHiCoJiPoKiNiHiCmNiBeBiClLiCoKiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId		:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiBeCiDeHiDiJiBfLiCmMiPoKiNiHiCmN_xHqqkZx_ NULL_xZkqqHx_iCkKjFnEiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNiDeDiDjDiDgGiDgCiDeOiDfIiDhEiDeAiDeDiDiLiCpAjAlGjAkMiClHiCoJiNnLiCmJiBeBiClLiCoKiImIiJlKiCmM_xHqqkZx_
 *			_xZkqqHx_jBfDiCmEiCmMiDeDiDjDiDgGiDgCiDeOiDfIiDhEiDeAiDeDiDiLiCkKiDiNiBfLiDgIiClDiCoKiBeB_xHqqkZx_FCHTreeRec_xZkqqHx_iCmJ_xHqqkZx_
 *			_xZkqqHx_jFmPiKlHiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCHTreeRec* FCHTreeManager::DocumentIdToHTreeRec (long lDocId)
{
	ASSERT(IsProjectOpened());
//	ASSERT(GetViewMode() != FDHT_VMODE_PROJECT);

	// _xZkqqHx_jDgPjIfOiNmPiCnNiCmM_xHqqkZx_HTreeRec_xZkqqHx_iCpAjClCiCnHiCoJiBeC_xHqqkZx_
	DocIdToHTreeRecMap::const_iterator iR = GetDocIdToHTreeRecMap().find(lDocId);
	if (iR != GetDocIdToHTreeRecMap().end())
		return (*iR).second.get();
	FCHTreeRec* pRec = NULL;
	pRec = FCHTreeRec::Create(this, lDocId);
	if (pRec != NULL)
	{
		GetDocIdToHTreeRecMap()[lDocId] = HTreeRecAuto(pRec);
	} else
	{
		// _xZkqqHx_iDiNiDgCiDeOjCiGiBeBiDhEiDeAiDeDiDiLjEgKjBlJjDjJiCmMjHjNjHfCiCmF_xHqqkZx_pRec_xZkqqHx_iCkKiNoMjAkMiCmFiCkLiCmIiCkCiPoKiNiHiCmNiBeB_xHqqkZx_
		// _xZkqqHx_iDeBiDhGiDiKiCpAiLkNjAkHiPeJjHlJiClHiCoJiBeC_xHqqkZx_
		// _xZkqqHx_iClBiCoKiCpAiClFiCmIiCkCiCmGiBeBiJlNjDhIiCoAiJlNjDhIiCoAiDeHiDiJiBfLiDiBiDgCiDfKiBfLiDfHiCkKjFfMiOkGiClDiCoKiCmEiBeB_xHqqkZx_
		// _xZkqqHx_iDeBiDhGiDiKiCkKiPeJjHlJiCmFiCkLiCmIiCkCiBeC_xHqqkZx_
		g_pDoc->ExitApplication();
	}
	return pRec;
} // FCHTreeManager::DocumentIdToHTreeRec.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetNextDocumentId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNjDgPjIfOjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCmMiOjPiCmMjDgPjIfOjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_iMlLiNnNiCmMjDgPjIfOjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iOjPiCmMjDgPjIfOjFlGiPjB_xHqqkZx_ID_xZkqqHx_iBeCiDgFiBfLiDhFiDiLiCmMiPeJiCoNiCoIiCmJiOiKiCmBiClNiPoKiNiHiCmN_xHqqkZx_-1_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	00.06.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCHTreeManager::GetNextDocumentId (long lDocId) const
{
	DocIdToHTreeRecMap::const_iterator iAt = GetDocIdToHTreeRecMap().upper_bound(lDocId);
	if (iAt == GetDocIdToHTreeRecMap().end()) return -1L;
	return (*iAt).first;
} // FCHTreeManager::GetNextDocumentId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::EraseDocumentId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFlGiPjB_xHqqkZx_ID->TreeRec_xZkqqHx_iDgFiBfLiDhFiDiLiCkJiCoHiBeBiOhHjCoIiCmMjDgPjIfOjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCmMiDiMiDfCiBfLiDgIiCpAiNoNiPjMiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.12.17 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::EraseDocumentId (long lDocId)
{
	GetDocIdToHTreeRecMap().erase(lDocId);
} // FCHTreeManager::EraseDocumentId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetMostRightBottom
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjGnIiCmMiNmAjFfHjCiGiBeBiNmFiCoAiJeFiJlKiCmMiNmAjFfHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CPoint FCHTreeManager::GetMostRightBottom () const
{
	return m_ptMostRightBottom;
} // FCHTreeManager::GetMostRightBottom.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::SetMostRightBottom
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjGnIiCmMiBeBiCoAiCmBiCmGiCoAiJeFiJlKiCmMiNmAjFfHiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pt	:_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::SetMostRightBottom (CPoint pt)
{
	m_ptMostRightBottom = pt;
} // FCHTreeManager::SetMostRightBottom.

//----- 05.08.12 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CheckFileUpdated
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiCmMiNfIjAfGiPpDjBnEiCpAjClCiCnHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	stDocumentId	:_xZkqqHx_iNfIjAfGiCpAjClCiCnHiCoJjFlGiPjBiCmM_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmN_xHqqkZx_ TRUE_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiKoOiCmDiCkCiCmEiBeBiDhEiDeAiDeDiDiLiCpAiDgAiDeGiDgCiDeOiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//BOOL FCHTreeManager::CheckFileUpdated (const longSet& stDocumentId)
//{
//	switch (GetViewMode())
//	{
//	case FDHT_VMODE_PROJECT:	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
//		// _xZkqqHx_jFfMiOkGiCkKjFmPiNfIiClDiCoKiClNiCkJiCmMiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		return CheckFileUpdatedProject();
//	case FDHT_VMODE_TREE:		// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
//		// _xZkqqHx_jFfMiOkGiCkKjFmPiNfIiClDiCoKiClNiCkJiCmMiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		return CheckFileUpdatedTree(stDocumentId);
//	case FDHT_VMODE_BRANCH:		// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
//		// _xZkqqHx_jFfMiOkGiCkKjFmPiNfIiClDiCoKiClNiCkJiCmMiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		return CheckFileUpdatedBranch(stDocumentId);
//	default:
//		return FALSE;
//	}
//} // FCHTreeManager::CheckFileUpdated.
//----- 05.08.12 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::UnlockAll
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jDoAjFjEiCmFiDiNiDgCiDeOiClDiCoKiCmEiCkCiCoJiDhEiDeAiDeDiDiLiCpAiJpAjFpKiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.19 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCHTreeManager::UnlockAll ()
//{
//	if (GetViewMode() != FDHT_VMODE_PROJECT)
//	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmNiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmMiPoKiNiHiBeB_xHqqkZx_FCHTreeRec _xZkqqHx_iCmNiOgHiCkGiCmIiCkCiBeC_xHqqkZx_
//		DocIdToHTreeRecMap::iterator iAt;
//		for (iAt = GetDocIdToHTreeRecMap().begin(); iAt != GetDocIdToHTreeRecMap().end(); iAt++)
//		{
//			(*iAt).second->UnlockAll();
//		}
//	}
//	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCmMiDiNiDgCiDeOiCpAiJpAjFpKiBeC_xHqqkZx_
//	m_autoLockProjectRead.UnlockAll();
//} // FCHTreeManager::UnlockAll.
//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetTotalTreeDocId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiCmMiOhNiCkKjBkOiClHiCoJjHjKjHpAjGnIiCmMiBeBjBfDiCmEiCmMjHjKjHpAiOhNiCmMjHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	vDocId	:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
 *			lDocId	:_xZkqqHx_jHjKjHpAiOhNiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.04.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::GetTotalTreeDocId (longVector& vDocId, long lDocId)
{
	vDocId.clear();
	// _xZkqqHx_jFgAiJoGiCmMiMlDiCmGiCmIiCoJiBeBiDgHiDgCiDhGiCmMjHjKjHpAjGnIiCpAiLiBiCnPiCoJiBeC_xHqqkZx_
	const long lTopDocId = SubDocumentIdToTopId(lDocId);
	FCHTreeRec* pRec = DocumentIdToHTreeRec(lTopDocId);
	if (pRec == NULL) return;
	// _xZkqqHx_iDgHiDgCiDhGiImIiJlKiCmMjHjKjHpAjGnIiCpAiLiBiCnPiCoJiBeC_xHqqkZx_
	pRec->GetSubTreeDocId(vDocId);
} // FCHTreeManager::GetTotalTreeDocId.

//----- 06.01.24 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProject
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.19 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//FCHiProject* FCHTreeManager::GetProject ()
//{
//	return &m_project;
//} // FCHTreeManager::GetProject.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProject
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.19 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//const FCHiProject* FCHTreeManager::GetProject () const
//{
//	return &m_project;
//} // FCHTreeManager::GetProject.
//----- 06.01.24 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetViewMode
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FTHTViewMode FCHTreeManager::GetViewMode () const
{
	return m_nViewMode;
} // FCHTreeManager::GetViewMode.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::SetViewMode
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::SetViewMode (FTHTViewMode nViewMode)
{
	m_nViewMode = nViewMode;
} // FCHTreeManager::SetViewMode.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetTopDocumentIdVector
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.02.03 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const longVector& FCHTreeManager::GetTopDocumentIdVector () const
{
	// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
	return m_vTopDocId;
} // FCHTreeManager::GetTopDocumentIdVector.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetZoom
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkPiCoJiBeBiOhHjCoIiCmMjHjKjHpAjGnIiCpAiDfOiBfLiDfBiDgCiDgHiCmG_xHqqkZx_
 *			_xZkqqHx_iClHiCoJiDfJiBfLiDiAjCgMiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjGnIiCmMjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDfJiBfLiDiAjCgMiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCkKiBeBiDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmM_xHqqkZx_
 *			_xZkqqHx_iPoKiNiHiCmNiBeBiPoNiCmJ_xHqqkZx_1.0_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.02.28 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
double FCHTreeManager::GetZoom (long lDocId)
{
	switch (GetViewMode())
	{
	case FDHT_VMODE_PROJECT:// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
		return 0.0;
	case FDHT_VMODE_TREE:	// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	  {
		long lTopDocId = SubDocumentIdToTopId(lDocId);
		map<long, double>::const_iterator i = m_mpTreeZoom.find(lTopDocId);
		if (i == m_mpTreeZoom.end())
			return -1.0;
		return (*i).second;
	  }
	case FDHT_VMODE_BRANCH:	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	  {
		map<long, double>::const_iterator i = m_mpBranchZoom.find(lDocId);
		if (i == m_mpBranchZoom.end())
			return -1.0;
		return (*i).second;
	  }
	}
	return 0.0;
} // FCHTreeManager::GetZoom.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::SetZoom
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkPiCoJiBeBiOhHjCoIiCmMjHjKjHpAjGnIiCpAiDfOiBfLiDfBiDgCiDgHiCmG_xHqqkZx_
 *			_xZkqqHx_iClHiCoJiDfJiBfLiDiAjCgMiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjGnIiCmMjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *			dZoom	:_xZkqqHx_iDfJiBfLiDiAjCgMiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iMlLiNnNiCmMiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCkKiBeBiDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmM_xHqqkZx_
 *			_xZkqqHx_iPoKiNiHiCmNiBeBjAnNjCoIiClDiCoKiCmIiCkCiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.02.28 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::SetZoom (long lDocId, double dZoom)
{
	switch (GetViewMode())
	{
	case FDHT_VMODE_TREE:	// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	  {
		long lTopDocId = SubDocumentIdToTopId(lDocId);
		m_mpTreeZoom[lTopDocId] = dZoom;
		break;
	  }
	case FDHT_VMODE_BRANCH:	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
		m_mpBranchZoom[lDocId] = dZoom;
		break;
	}
} // FCHTreeManager::SetZoom.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetNodeBoxRectInProject
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkPiCoJjHjKjHpAjFfMiOkGiDhLiDgCiDeOiDfIiCmM_xHqqkZx_
 *			_xZkqqHx_iLoJiMgAiCpAiMhGiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjGnIiCmMjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFfMiOkGiDhLiDgCiDeOiDfIiCmMiLoJiMgAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CRect FCHTreeManager::GetNodeBoxRectInProject (long lDocId)
{
	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	ASSERT(GetViewMode() == FDHT_VMODE_PROJECT);
	if (lDocId == -1)
	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiOhHjCoIiCmMiPoKiNiH_xHqqkZx_ -----
	{
		return CRect(FD_HTREE_VIEW_GAP,
					 FD_HTREE_VIEW_GAP,
					 FD_HTREE_VIEW_GAP + GetHistBoxSize().cx,
					 FD_HTREE_VIEW_GAP + GetHistBoxSize().cy);
	} else
	//----- _xZkqqHx_jHjKjHpAjFlGiPjBiOhHjCoIiCmMiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iKgHjCkDiDgGiBfLiDfOiCpAiOoGjDlOiBeC_xHqqkZx_
		const FCDocRecExtData* pExtData = GetDocRecExtData(lDocId);
		// _xZkqqHx_iClBiCmMjHjKjHpAjFlGiPjBiCkKjDfHiKeKiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiHiCmNiBeBiLpDiLoJiMgAiCpAjFnEiClHiBeC_xHqqkZx_
		if (pExtData->GetBoxPoint().x == -1) return CRect(0,0,0,0);
		return CRect(pExtData->GetBoxPoint().x,
					 pExtData->GetBoxPoint().y,
					 pExtData->GetBoxPoint().x + GetHistBoxSize().cx,
					 pExtData->GetBoxPoint().y + GetHistBoxSize().cy);
	}
} // FCHTreeManager::GetNodeBoxRectInProject.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetExpBoxRectInProject
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNjHjKjHpAjFlGiPjBiCmMiDhLiDgCiDeOiDfIiCmMiNlGjBkEiCmJiCkAiCoJiBeBjDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiL_xHqqkZx_
 *			_xZkqqHx_iDhLiDgCiDeOiDfIiCmMiLoJiMgAiNmAjFfHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmMiLoJiMgAiNmAjFfHiBeCiDhLiDgCiDeOiDfIiCkKjBlGiNnNiClFiCmIiCkC_xHqqkZx_
 *			_xZkqqHx_iPoKiNiHiCmN_xHqqkZx_ _xZkqqHx_iLpDiCmMiLoJiMgAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCkKjBlGiNnNiClFiCmIiCkCiPoKiNiHiBeBiIlNiCkCiCmNiBeBiClLiCmMjHjKjHpAjFlGiPjBiDhLiDgCiDeOiDfIiCkK_xHqqkZx_
 *			_xZkqqHx_jDfHiKeKiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiHiCmNiBeBjDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmNjBlGiNnNiClFiCmIiCkCiBeC_xHqqkZx_
 *
 *                     _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkPiEkKiElBiEkKiEkKiEkO_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                       _xZkqqHx_iEkMiElDiEkNiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                       _xZkqqHx_iEkLiEkKiElAiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                       _xZkqqHx_iEkPiElBiEkOiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkPiEkKiElBiEkKiEkKiEkO_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iElAiEkKiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.06.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CRect FCHTreeManager::GetExpBoxRectInProject (long lDocId)
{
	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiBeC_xHqqkZx_
	ASSERT(GetViewMode() == FDHT_VMODE_PROJECT);
	const FCDocRecExtData* pExtData = GetDocRecExtData(lDocId);
	if (pExtData->GetRootPoint().x != -1 && !pExtData->GetSubDocumentId().empty())
	//----- _xZkqqHx_jDfHiKeKiClDiCoKiCmEiCkCiCoJ_xHqqkZx_ _xZkqqHx_iKiOiCmC_xHqqkZx_ _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiBeC_xHqqkZx_
		return CRect(pExtData->GetRootPoint().x - (GetExpBoxSize().cx / 2),
					 pExtData->GetRootPoint().y - (GetExpBoxSize().cy / 2),
					 pExtData->GetRootPoint().x + (GetExpBoxSize().cx / 2),
					 pExtData->GetRootPoint().y + (GetExpBoxSize().cy / 2));
	}
	return CRect(0,0,0,0);
} // FCHTreeManager::GetExpBoxRectInProject.

double FCHTreeManager::GetFontZoom () const
{
	return m_dFontZoom;
} // FCHTreeManager::GetFontZoom.

void FCHTreeManager::SetFontZoom (double dZoom)
{
	m_dFontZoom = dZoom;
} // FCHTreeManager::SetFontZoom.

void FCHTreeManager::InitFont (LOGFONT& lf, FDRegFontType nType) const
{
	g_pReg->InitRegFont(lf, nType);	// _xZkqqHx_iDhEiDeIiDjDiDgHiCpAiNoMjAkMiBeC_xHqqkZx_
	lf.lfHeight = D2L(m_dFontZoom * double(lf.lfHeight));
	if (lf.lfHeight == 0) lf.lfHeight = -1;
} // FCHTreeManager::InitFont.

void FCHTreeManager::InitFont (CFont& font, FDRegFontType nType) const
{
	LOGFONT lf;
	InitFont(lf, nType);
	::FFCreateFontIndirect(font, lf);
} // FCHTreeManager::InitFont.

long FCHTreeManager::GetFontHeight (FDRegFontType nType) const
{
	// _xZkqqHx_iDhEiDeIiDjDiDgHiNiCiCpAiOoGjDlOiBeC_xHqqkZx_
	long lFontH = D2L(m_dFontZoom * double(g_pReg->GetRegFontHeight(nType)));
	if (lFontH == 0) lFontH = 1;
	return lFontH;
} // FCHTreeManager::GetFontHeight.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetHistBoxSize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFfMiOkGiDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAiMhGiOfKiClFiCmEjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	static_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iImIiJlKiCmJjHjKjHpAjFfMiOkGiDhLiDgCiDeOiDfIjCiGiCmMiDgFiDeMiDfIiDgHiDiMiDeDiDeBiDeFiDgHiCpAiOkGiClHiBeC_xHqqkZx_
 *
 *                           GetHtBoxIconW()
 *                              _xZkqqHx_iEkFiBkJiEjPiBkIiEkH_xHqqkZx_
 *       GetHtBoxIconMarginL()  _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_                                    GetHtBoxTextMarginR()
 *                          _xZkqqHx_iBkIiEkJiEkJiBkJ_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_                            _xZkqqHx_iBkIiEkJiEjPiEkJiBkJ_xHqqkZx_
 *                            _xZkqqHx_iEkAiEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_      GetHtBoxTextMarginL()   _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *    GetHtBoxIconMarginT()   _xZkqqHx_iEkAiEkA_xHqqkZx_    _xZkqqHx_iBkIiEkJiEjPiEkJiBkJ_xHqqkZx_                        _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_      GetHtBoxTextMarginT()
 *                    _xZkqqHx_iBkL_xHqqkZx_      _xZkqqHx_iEkAiEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_        _xZkqqHx_iBkL_xHqqkZx_
 *                    _xZkqqHx_iEkJiEjPiEjPiEjPiEkMiElJiEkKiEkKiEkKiElJiEkKiElJiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiElJiEkKiEkNiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *              _xZkqqHx_iEkGiEjPiEjPiEkJiEjPiEjPiEjPiElOiEkMiBgDiBgDiBgDiEkN_xHqqkZx_                                  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkA_xHqqkZx_
 *              _xZkqqHx_iBkK_xHqqkZx_    _xZkqqHx_iBkK_xHqqkZx_      _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkN_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *    GetHtBoxIconH()         _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iBkK_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_GetHtBoxTextLineGap()
 *              _xZkqqHx_iBkL_xHqqkZx_            _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkO_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *              _xZkqqHx_iEkIiEjPiEjPiEjPiEjPiEjPiEjPiElOiEkPiBgDiBgDiBgDiEkO_xHqqkZx_                                  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkN_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iBkL_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkO_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_                                            _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkA_xHqqkZx_
 *                            _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iBkK_xHqqkZx_
 *                                          _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_                                  GetHtBoxTextMarginB()
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.29 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *			04.07.04 Fukushiro M. _xZkqqHx_iPeDjAlD_xHqqkZx_
 *************************************************************************/
CSize FCHTreeManager::GetHistBoxSize () const
{
	CSize size;
	// _xZkqqHx_iDfEiDeDiDfJiCpAiMhGiOfKiBeC_xHqqkZx_
	const long lFontH = GetFontHeight(FDFT_HTREE_TEXT);
	size.cx =	GetHtBoxIconMarginL() +
				GetHtBoxIconW() +
				GetHtBoxTextMarginL() +
				(GetHtBoxTextColumn() * lFontH) +
				GetHtBoxTextMarginR();
	size.cy =	GetHtBoxTextMarginT() +
				(GetHtBoxTextLine() * lFontH) +
				((GetHtBoxTextLine() - 1) * GetHtBoxTextLineGap()) +
				GetHtBoxTextMarginB();
	if (size.cx < GetHtBoxIconW() + 2 * GetHtBoxIconMarginL())
		size.cx = GetHtBoxIconW() + 2 * GetHtBoxIconMarginL();
	if (size.cy < GetHtBoxIconH() + 2 * GetHtBoxIconMarginT())
		size.cy = GetHtBoxIconH() + 2 * GetHtBoxIconMarginT();
	return size;
} // FCHTreeManager::GetHistBoxSize.

long FCHTreeManager::GetHtInterLineX () const
{
	long lv = D2L(double(FD_HT_INTER_LINE_X) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_INTER_LINE_X_MIN)
		lv = FD_HT_INTER_LINE_X_MIN;
	return lv;
} // FCHTreeManager::GetHtInterLineX.

long FCHTreeManager::GetHtInterLineY () const
{
	long lv = D2L(double(FD_HT_INTER_LINE_Y) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_INTER_LINE_Y_MIN)
		lv = FD_HT_INTER_LINE_Y_MIN;
	return lv;
} // FCHTreeManager::GetHtInterLineY.

long FCHTreeManager::GetHtInterBoxX () const
{
	long lv = D2L(double(FD_HT_INTER_BOX_X) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_INTER_BOX_X_MIN)
		lv = FD_HT_INTER_BOX_X_MIN;
	return lv;
} // FCHTreeManager::GetHtInterBoxX.

long FCHTreeManager::GetHtInterBoxY () const
{
	long lv = D2L(double(FD_HT_INTER_BOX_Y) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_INTER_BOX_Y_MIN)
		lv = FD_HT_INTER_BOX_Y_MIN;
	return lv;
} // FCHTreeManager::GetHtInterBoxY.

long FCHTreeManager::GetHtIntroGapY () const
{
	long lv = D2L(double(FD_HT_INTRO_GAP_Y) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_INTRO_GAP_Y_MIN)
		lv = FD_HT_INTRO_GAP_Y_MIN;
	return lv;
} // FCHTreeManager::GetHtIntroGapY.

long FCHTreeManager::GetHtBoxWidthL () const
{
	long lv = D2L(double(FD_HT_BOX_WIDTH_L) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_WIDTH_L_MIN)
		lv = FD_HT_BOX_WIDTH_L_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxWidthL.

long FCHTreeManager::GetHtBoxIntroY () const
{
	long lv = D2L(double(FD_HT_BOX_INTRO_Y) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_INTRO_Y_MIN)
		lv = FD_HT_BOX_INTRO_Y_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxIntroY.

long FCHTreeManager::GetHtBoxGapY () const
{
	long lv = D2L(double(FD_HT_BOX_GAP_Y) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_GAP_Y_MIN)
		lv = FD_HT_BOX_GAP_Y_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxGapY.

long FCHTreeManager::GetHtLifeWidthH () const
{
	long lv = D2L(double(FD_HT_LIFE_WIDTH_H) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_LIFE_WIDTH_H_MIN)
		lv = FD_HT_LIFE_WIDTH_H_MIN;
	return lv;
} // FCHTreeManager::GetHtLifeWidthH.

long FCHTreeManager::GetHtArwWidthH () const
{
	long lv = D2L(double(FD_HT_ARW_WIDTH_H) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_ARW_WIDTH_H_MIN)
		lv = FD_HT_ARW_WIDTH_H_MIN;
	return lv;
} // FCHTreeManager::GetHtArwWidthH.

long FCHTreeManager::GetHtArwHeight () const
{
	long lv = D2L(double(FD_HT_ARW_HEIGHT) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_ARW_HEIGHT_MIN)
		lv = FD_HT_ARW_HEIGHT_MIN;
	return lv;
} // FCHTreeManager::GetHtArwHeight.

long FCHTreeManager::GetHtLineIntroX () const
{
	long lv = D2L(double(FD_HT_LINE_INTRO_X) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_LINE_INTRO_X_MIN)
		lv = FD_HT_LINE_INTRO_X_MIN;
	return lv;
} // FCHTreeManager::GetHtLineIntroX.

long FCHTreeManager::GetHtBoxIconW () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_ICON_W) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_ICON_W_MIN)
//		lv = FD_HT_BOX_ICON_W_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_ICON_W;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxIconW.

long FCHTreeManager::GetHtBoxIconH () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_ICON_H) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_ICON_H_MIN)
//		lv = FD_HT_BOX_ICON_H_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_ICON_H;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxIconH.

long FCHTreeManager::GetHtHiForkTagGapX () const
{
	long lv = D2L(double(FD_HT_HI_FORK_TAG_GAP_X) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_HI_FORK_TAG_GAP_X_MIN)
		lv = FD_HT_HI_FORK_TAG_GAP_X_MIN;
	return lv;
} // FCHTreeManager::GetHtHiForkTagGapX.

long FCHTreeManager::GetHtBoxIconMarginL () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_ICON_MARGIN_L) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_ICON_MARGIN_L_MIN)
//		lv = FD_HT_BOX_ICON_MARGIN_L_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_ICON_MARGIN_L;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxIconMarginL.

long FCHTreeManager::GetHtBoxIconMarginT () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_ICON_MARGIN_T) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_ICON_MARGIN_T_MIN)
//		lv = FD_HT_BOX_ICON_MARGIN_T_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_ICON_MARGIN_T;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxIconMarginT.

long FCHTreeManager::GetHtBoxTextMarginL () const
{
	long lv = D2L(double(FD_HT_BOX_TEXT_MARGIN_L) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_TEXT_MARGIN_L_MIN)
		lv = FD_HT_BOX_TEXT_MARGIN_L_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxTextMarginL.

long FCHTreeManager::GetHtBoxTextMarginT () const
{
	long lv = D2L(double(FD_HT_BOX_TEXT_MARGIN_T) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_TEXT_MARGIN_T_MIN)
		lv = FD_HT_BOX_TEXT_MARGIN_T_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxTextMarginT.

long FCHTreeManager::GetHtBoxTextMarginR () const
{
	long lv = D2L(double(FD_HT_BOX_TEXT_MARGIN_R) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_TEXT_MARGIN_R_MIN)
		lv = FD_HT_BOX_TEXT_MARGIN_R_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxTextMarginR.

long FCHTreeManager::GetHtBoxTextMarginB () const
{
	long lv = D2L(double(FD_HT_BOX_TEXT_MARGIN_B) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_TEXT_MARGIN_B_MIN)
		lv = FD_HT_BOX_TEXT_MARGIN_B_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxTextMarginB.

long FCHTreeManager::GetHtBoxTextLineGap () const
{
	long lv = D2L(double(FD_HT_BOX_TEXT_LINE_GAP) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_BOX_TEXT_LINE_GAP_MIN)
		lv = FD_HT_BOX_TEXT_LINE_GAP_MIN;
	return lv;
} // FCHTreeManager::GetHtBoxTextLineGap.

long FCHTreeManager::GetHtBoxTextColumn () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_TEXT_COLUMN) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_TEXT_COLUMN_MIN)
//		lv = FD_HT_BOX_TEXT_COLUMN_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_TEXT_COLUMN;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxTextColumn.

long FCHTreeManager::GetHtBoxTextLine () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	long lv = D2L(double(FD_HT_BOX_TEXT_LINE) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
//	if (lv < FD_HT_BOX_TEXT_LINE_MIN)
//		lv = FD_HT_BOX_TEXT_LINE_MIN;
//	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return FD_HT_BOX_TEXT_LINE;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetHtBoxTextLine.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcTimeViewWidth
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOjOiKnEjFfMiOkGjHmMiIoGiCmMjFjNiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFjNiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.29 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCHTreeManager::CalcTimeViewWidth () const
{
	// _xZkqqHx_iDfEiDeDiDfJiCpAiMhGiOfKiBeC_xHqqkZx_
	return 8 * GetFontHeight(FDFT_HTREE_TIME);
} // FCHTreeManager::CalcTimeViewWidth.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetExpBoxSize
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	ExpBoxSize _xZkqqHx_iCmNiImIiJlKiCmM_xHqqkZx_ (ExpBoxW, ExpBoxH)_xZkqqHx_iBeC_xHqqkZx_
 *
 *                                 _xZkqqHx_iEkL_xHqqkZx_                 
 *                                 _xZkqqHx_iEkLiEkFiEkHiBkJ_xHqqkZx_ ExpBoxGap
 *                           _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkLiEkAiEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkGiEjPiEkMiElDiEkNiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                    ExpBoxH_xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkLiElEiElAiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkIiEjPiEkPiEkKiEkOiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                           _xZkqqHx_iBkK_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkAiEkPiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                             _xZkqqHx_iBkIiEkFiEjPiEkHiBkJ_xHqqkZx_ ExpBoxW
 *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.27 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CSize FCHTreeManager::GetExpBoxSize () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	return CSize(FD_HT_EXP_BOX_W, FD_HT_EXP_BOX_H);
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	long lv = D2L(double(FD_HT_EXP_BOX_W) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_EXP_BOX_W_MIN)
		lv = FD_HT_EXP_BOX_W_MIN;
	return CSize(lv, lv);
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetExpBoxSize.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetExpBoxGap
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmGiBeBjHjKjHpAiDhLiDgCiDeOiDfIiCmMiKnEiCmMiLjHjHkDiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiCmGiBeBjHjKjHpAiDhLiDgCiDeOiDfIiCmMiKnEiCmMiLjHjHkDiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	ExpBoxGap _xZkqqHx_iCmNiImIiJlKiBeC_xHqqkZx_
 *                                 _xZkqqHx_iEkL_xHqqkZx_                 
 *                                 _xZkqqHx_iEkLiEkFiEkHiBkJ_xHqqkZx_ ExpBoxGap
 *                           _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkLiEkAiEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkGiEjPiEkMiElDiEkNiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                    ExpBoxH_xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkLiElEiElAiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkIiEjPiEkPiEkKiEkOiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                           _xZkqqHx_iBkK_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkAiEkPiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                             _xZkqqHx_iBkIiEkFiEjPiEkHiBkJ_xHqqkZx_ ExpBoxW
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.27 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCHTreeManager::GetExpBoxGap () const
{
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	return FD_HT_EXP_BOX_GAP;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	long lv = D2L(double(FD_HT_EXP_BOX_GAP) * double(GetFontHeight(FDFT_HTREE_TEXT)) / FD_HT_STD_FONT_HEIGHT);
	if (lv < FD_HT_EXP_BOX_GAP_MIN)
		lv = FD_HT_EXP_BOX_GAP_MIN;
	return lv;
//----- 04.11.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetExpBoxGap.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::IsVirtualTableRecordModified
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiNiDgCiDeOiClDiCoKiCmEiCkCiCoJiDhEiDeAiDeDiDiLiCkKiBeBjBlMiCmMiDeBiDeOiDfKiDfIiCmFjCmHiJmBiNfIjAfG_xHqqkZx_ _xZkqqHx_iIlNiCkCiCmN_xHqqkZx_
 *			_xZkqqHx_iPoDiPjBiCkLiNfIjAfGiClDiCoKiClNiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	project	:_xZkqqHx_jEoEiKhCiClHiCoJiDhGiDiNiDfHiDeGiDeOiDgHiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.30 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::IsVirtualTableRecordModified (FCHiProject& project) const
{
	// _xZkqqHx_iInJiCmIiCoJiDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCkKiOhHjCoIiClDiCoKiClNiPoKiNiHiCmJiCoAjEoEiKhCiCmFiCkLiCoJiCoGiCkEiBeB_xHqqkZx_
	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCmMiDgFiBfLiDhFiDiLiCpAiIpIjAjEiCmFiOhHjCoIiClDiClJiCoJiBeC_xHqqkZx_
	return m_projectCopy.IsVirtualTableRecordModified(project);
} // FCHTreeManager::IsVirtualTableRecordModified.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CheckFileUpdatedProject
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMlLiNnNiBeBiOmAjBmMiCmMiCkAiCoJjBfDiCmEiCmM_xHqqkZx_FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmJjBmOiClFiCmEiBeBjBmOiJjO_xHqqkZx_
 *			_xZkqqHx_iClHiCoJjHjKjHpAiDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeBiNfIjAfGiDhEiDiJiDePiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmN_xHqqkZx_ TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.21 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::CheckFileUpdatedProject (FCHiProject& project)
{
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	ASSERT(IsProjectOpened());
//	// _xZkqqHx_iDiNiDgCiDeOjBePiCmJiBeBiCnMiClIiKmHjHjNiDgFiBfLiDhFiDiLiCmMjBlGiNnNiCpAiDgAiDeGiDgCiDeOiClHiCoJiBeC_xHqqkZx_
//	if (!m_project.GetIsSubTableExist(CONTROL_TABLE_ID))
//	//----- _xZkqqHx_iOhHjCoIiClDiCoKiClNiDhGiDiNiDfHiDeGiDeOiDgHiCmMiKmHjHjNiDgFiBfLiDhFiDiLiCkKjBlGiNnNiClFiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDeHiDiJiBfLiCpAiDfIiDiNiBfLiBeC_xHqqkZx_
//		// _xZkqqHx_iBhFiOhHjCoIiCmMiDhEiDeAiDeDiDiLiBhF_xHqqkZx_%s_xZkqqHx_iBhGiCkKiMkJiCmCiCkJiCoIiCnMiClJiCpBiBeCiDhEiDeAiDeDiDiLjGlMiCpAiKgNjEeGiClFiCmEiCkNiClOiClDiCkCiBeCiBhG_xHqqkZx_
//		FFThrowMiscException(IDS_ERR_MSG_FILE_NOT_FOUND,
//							 (const wchar_t*)GetProjectPath());
//	}
//
//	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCpA_xHqqkZx_READ_xZkqqHx_iBeB_xHqqkZx_SHARED_xZkqqHx_iCmFiDiNiDgCiDeOiBjFiDhGiDiNiDfHiDeGiDeOiDgHiNfIjAfGiBeC_xHqqkZx_
//	// _xZkqqHx_iDiNiDgCiDeOiCmFiCkLiCmIiCkCiPoKiNiHiCmNiPeJiCoNiCoIiBeC_xHqqkZx_
//	// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCpA_xHqqkZx_READ_xZkqqHx_iBeB_xHqqkZx_SHARED_xZkqqHx_iCmFiDiNiDgCiDeOiBeC_xHqqkZx_
//	// RetryLockFile_xZkqqHx_iCpAiOgHiCkEiBeC_xHqqkZx_TryLockFile_xZkqqHx_iCpAiOgHiCkEiCmGiBeB_xHqqkZx_
//	// WM_USER_SYNC_HIVIEW_TO_DOCUMENT _xZkqqHx_iCmMiPiIjHjNjCiGiCmF_xHqqkZx_
//	// _xZkqqHx_jEhCjBlMjDeJiCmJiDiNiDgCiDeOiClDiCoKiClNiDhEiDeAiDeDiDiLiBgJjHoBiBeGjFkKiKpCiNoMjAkMiMoDiCmMiDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiBgK_xHqqkZx_
//	// _xZkqqHx_iCpAiDiNiDgCiDeOiCmFiCkLiClIiCmJiDeHiDiJiBfLiPeJjHlJiClHiCoJiBeC_xHqqkZx_
//	if (!m_autoLockProjectRead.TryLock())
//	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCkKiDiNiDgCiDeOiCmFiCkLiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDeHiDiJiBfLiCpAiDfIiDiNiBfLiBeC_xHqqkZx_
//		FFThrowMiscUserException(	g_pFileServer->GetErrorCode(),
//									g_pFileServer->GetErrorMessage());
//	}
//	BOOL bReturn = FALSE;
//	if (m_project.IsRealTableRecordModified())
//	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiClNiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCmMjDmHiNjOiCnNiBeC_xHqqkZx_
//		m_project.UpdateData(m_autoLockProjectRead);
//		bReturn = TRUE;
//
//		//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiPoOjFpBiCpAiOoGjDlO_xHqqkZx_ -----
//		m_projectCopy = m_project;
//		// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
//		m_vTopDocId.clear();
//		//----- _xZkqqHx_iKgHjCkDiDgGiBfLiDfOiCmJiBeBiDfEiDhFiDgDiDiKiBfLiCpAjAnNjCoI_xHqqkZx_ -----
//		long lDocId;
//		FCHiDocumentRec hiDocRec;
//		for (hiDocRec = m_project.GetFirstHidocumentRec(lDocId);
//			 !hiDocRec.GetIsInvalid();
//			 hiDocRec = m_project.GetNextHidocumentRec(lDocId))
//		{
//			// _xZkqqHx_iJlMiCmMjHjKjHpAjFlGiPjBiCmMiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
//			if (hiDocRec.GetIsTemporary()) continue;
//			// lDocId_xZkqqHx_iCmMiPoDiImKjHjKjHpA_xHqqkZx_ lSuperDocId _xZkqqHx_iCpAiLiBiCnPiCoJiBeC_xHqqkZx_
//			const long lSuperDocId = hiDocRec.GetSuperDocId();
//			if (lSuperDocId == -1)
//			//----- _xZkqqHx_iPoDiImKiCmMjHjKjHpAjFlGiPjBiCkKjBlGiNnNiClFiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//			{
//				// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
//				m_vTopDocId.push_back(lDocId);
//			} else
//			//----- _xZkqqHx_iPoDiImKiCmMjHjKjHpAjFlGiPjBiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
//			{
//				FCDocRecExtData* pSuperExtData = GetDocRecExtData(lSuperDocId);
//				// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCmMiIoKjHjHiCmJjCmHiJmBiBeC_xHqqkZx_
//				pSuperExtData->SetSubDocumentId(lDocId);
//			}
//		}
//		// _xZkqqHx_iCkCiClIiCoKiCkJiCmMjHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiBeBiPeDjAlDiCkKjDpMiCmBiClNiJmCjEfMjAkLiCkKiNiCiCkCiBeC_xHqqkZx_
//		// _xZkqqHx_jBfDiCmEiCmMjFlGiPjBiCpAjClCiNlIjBmOiPnLiCmJiClHiCoJiBeC_xHqqkZx_
//		DocIdToHTreeRecMap::iterator iAt;
//		for (iAt = GetDocIdToHTreeRecMap().begin();
//			 iAt != GetDocIdToHTreeRecMap().end();)
//		{
//			// _xZkqqHx_jHjKjHpAjFlGiPjBiCkKiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJjBlGiNnNiClFiCmIiCkCiPoKiNiHiCmN_xHqqkZx_HtreeRec_xZkqqHx_iCpAiNoNiPjMiBeC_xHqqkZx_
//			if (m_project.GetDocumentRec(iAt->first).GetIsInvalid())
//				iAt = GetDocIdToHTreeRecMap().erase(iAt);
//			else
//				iAt++;
//		}
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmM_xHqqkZx_HtreeRec_xZkqqHx_iCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
//		for (lDocId = m_project.GetFirstDocumentId();
//			 lDocId != -1;
//			 lDocId = m_project.GetNextDocumentId(lDocId))
//		{
//			DocumentIdToHTreeRec(lDocId);
//		}
//	}
//	return bReturn;
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	BOOL bReturn = FALSE;
	if (IsVirtualTableRecordModified(project))
	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiClNiPoKiNiH_xHqqkZx_(_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLjFmPiNfIiCoAiKnMiCnO_xHqqkZx_) -----
	{
		bReturn = TRUE;
		//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiPoOjFpBiCpAiOoGjDlO_xHqqkZx_ -----
		m_projectCopy = project;
		// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
		m_vTopDocId.clear();
		//----- _xZkqqHx_iKgHjCkDiDgGiBfLiDfOiCmJiBeBiDfEiDhFiDgDiDiKiBfLiCpAjAnNjCoI_xHqqkZx_ -----
		long lDocId;
		FCHiDocumentRec hiDocRec;
		for (hiDocRec = project.GetFirstHidocumentRec(lDocId);
			 !hiDocRec.GetIsInvalid();
			 hiDocRec = project.GetNextHidocumentRec(lDocId))
		{
//----- 06.01.31 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//			// _xZkqqHx_iJlMiCmMjHjKjHpAjFlGiPjBiCmMiPoKiNiHiCmNiDfIiDeMiDgCiDhGiBeC_xHqqkZx_
//			if (hiDocRec.GetIsTemporary()) continue;
//----- 06.01.31 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
			// lDocId_xZkqqHx_iCmMiPoDiImKjHjKjHpA_xHqqkZx_ lSuperDocId _xZkqqHx_iCpAiLiBiCnPiCoJiBeC_xHqqkZx_
			const long lSuperDocId = hiDocRec.GetSuperDocId();
			if (lSuperDocId == -1)
			//----- _xZkqqHx_iPoDiImKiCmMjHjKjHpAjFlGiPjBiCkKjBlGiNnNiClFiCmIiCkCiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_iDgHiDgCiDhGiDiMiDhIiDiLiCmMjHjKjHpAjFlGiPjBiCmMiIoKjHjHiBeC_xHqqkZx_
				m_vTopDocId.push_back(lDocId);
			} else
			//----- _xZkqqHx_iPoDiImKiCmMjHjKjHpAjFlGiPjBiCkKjBlGiNnNiClHiCoJiPoKiNiH_xHqqkZx_ -----
			{
				FCDocRecExtData* pSuperExtData = GetDocRecExtData(lSuperDocId);
				// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCmMiIoKjHjHiCmJjCmHiJmBiBeC_xHqqkZx_
				pSuperExtData->SetSubDocumentId(lDocId);
			}
		}
		// _xZkqqHx_iCkCiClIiCoKiCkJiCmMjHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiBeBiPeDjAlDiCkKjDpMiCmBiClNiJmCjEfMjAkLiCkKiNiCiCkCiBeC_xHqqkZx_
		// _xZkqqHx_jBfDiCmEiCmMjFlGiPjBiCpAjClCiNlIjBmOiPnLiCmJiClHiCoJiBeC_xHqqkZx_
		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhEiDeAiDeDiDiLiCkKjFmPiNfIiClDiCoKiClNiPoKiNiHiCmNiBeBjBfDiCmEiCmM_xHqqkZx_HtreeRec_xZkqqHx_iCmN_xHqqkZx_
		// _xZkqqHx_jGlDiMpIiCmJiCmIiCoJiCkKiBeBiClBiCmMiKnGjAjEiCkKiMmEiCmOiCoKiCoJjBePiCmJ_xHqqkZx_ Clear_xZkqqHx_iCkKiOmAiNhDiClDiCoKiCmEiCkCiCoJiCmNiClI_xHqqkZx_
		// _xZkqqHx_iCmIiCmMiCmFjGoCjBoIiCmIiCkCiBeC_xHqqkZx_
		DocIdToHTreeRecMap::iterator iAt;
		for (iAt = GetDocIdToHTreeRecMap().begin();
			 iAt != GetDocIdToHTreeRecMap().end();)
		{
			// _xZkqqHx_jHjKjHpAjFlGiPjBiCkKiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJjBlGiNnNiClFiCmIiCkCiPoKiNiHiCmN_xHqqkZx_HtreeRec_xZkqqHx_iCpAiNoNiPjMiBeC_xHqqkZx_
			if (project.GetDocumentRec(iAt->first).GetIsInvalid())
				iAt = GetDocIdToHTreeRecMap().erase(iAt);
			else
				iAt++;
		}
		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmM_xHqqkZx_HtreeRec_xZkqqHx_iCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
		for (lDocId = project.GetFirstDocumentId();
			 lDocId != -1;
			 lDocId = project.GetNextDocumentId(lDocId))
		{
			DocumentIdToHTreeRec(lDocId);
		}
	}
	return bReturn;
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::CheckFileUpdatedProject.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CheckFileUpdatedTree
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iMlLiNnNiBeBiOmAjBmMiCmMiCkAiCoJjBfDiCmEiCmM_xHqqkZx_FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmJjBmOiClFiCmEiBeBjBmOiJjO_xHqqkZx_
 *			_xZkqqHx_iClHiCoJjHjKjHpAiDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeBiDhEiDeAiDeDiDiLiCkJiCoHjDmHiCnNjClMiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	stDocumentId	:_xZkqqHx_iNfIjAfGiCpAjClCiCnHiCoJjFlGiPjBiCmM_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmN_xHqqkZx_ TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	stDocumentId _xZkqqHx_iCmFiOhHjCoIiClDiCoKiCmEiCkCiCoJjFlGiPjBiCmMiDhEiDeIiBfLiDeOiDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmE_xHqqkZx_
 *			_xZkqqHx_iCkCiCoJiPoKiNiHiCmNiDfEiDhFiDgDiDiKiBfLiCoAiNmEiLeBjDeJiCmJiDgAiDeGiDgCiDeOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::CheckFileUpdatedTree (	const longSet& stDocumentId,
											const FCDbLockBank& lockBank)
{
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	ASSERT(IsProjectOpened());
//	// CheckFileUpdatedProject_xZkqqHx_iCkKiMmEiCmOiCoKiCmEiCkCiCoJjFeLjHhGiCkKiCkAiCoJiBeC_xHqqkZx_
//	// _xZkqqHx_iCmCiCnMiCoIiDhGiDiNiDfHiDeGiDeOiDgHiCmNiDiNiDgCiDeOiClDiCoKiCmEiCkCiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkCiBeC_xHqqkZx_
//	if (!m_autoLockProjectRead.IsLocked())
//		FFThrowMiscUnknown();
//
//	BOOL bUpdated = FALSE;
//	if (stDocumentId.empty())
//	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiClNiBeBiIlNiCkCiCmNjClCiCnHiCoJjFlGiPjBiCkKiOhHjCoIiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiClNiPoKiNiHiBeB_xHqqkZx_
//		// _xZkqqHx_iCkCiClIiCoKiCkJiCmMjHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiBeBiPeDjAlDiCkKjDpMiCmBiClNiJmCjEfMjAkLiCkKiNiCiCkCiBeC_xHqqkZx_
//		DocIdToHTreeRecMap::iterator iAt;
//		for (iAt = GetDocIdToHTreeRecMap().begin(); iAt != GetDocIdToHTreeRecMap().end(); iAt++)
//			stDocumentId.insert((*iAt).first);
//		// _xZkqqHx_jBfDiCmEiCmMjFlGiPjBiCpAjClCiNlIjBmOiPnLiCmJiClHiCoJiBeC_xHqqkZx_
//	}
//
//	longSet::const_iterator iId;
//	for (iId = stDocumentId.begin(); iId != stDocumentId.end(); iId++)
//	//----- _xZkqqHx_jHjKjHpAjFlGiPjBiCpAiDgAiDeGiDgCiDeO_xHqqkZx_ -----
//	{
//		// _xZkqqHx_iKpJiCmJ_xHqqkZx_CheckFileUpdatedProject_xZkqqHx_iKnGjAjEiCmFjClCiNlIiNmPiCnNiCmMiClNiCnPiBeB_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAjFlGiPjBiCkKiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJjBlGiNnNiClFiCmIiCkCiPoKiNiHiCpAjClCiCnHiCoJjFeLjHhGiCmNiCmIiCkCiBeC_xHqqkZx_
//		FCHTreeRec* pRec = DocumentIdToHTreeRec(*iId);
//		// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiCmFiCmNiBeBiDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiPoOjFpBiCmNjFhDjHhGiBeC_xHqqkZx_
//		// _xZkqqHx_iNfIjAfGiCmNjClCiCnHiCmIiCkNiCmEiCoAiCoGiCkCiBeC_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiCpAiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		pRec->CheckTerminateUpdated();
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCmIiCkNiCmEiCoAiBeBjHjKjHpAjFkKiKpCiDfOiDePiCmMjFmPiNfIiCmF_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCoJiJmCjEfMjAkLiCkKiCkAiCoJiBeC_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmMiNfIjAfGiCpAiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		pRec->CheckForkUpdated();
//
//		if (pRec->IsTerminateUpdated())
//		//----- _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCmIiCoHjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//			pRec->LoadTerminateFile();
//			bUpdated = TRUE;
//		}
//		if (pRec->IsForkUpdated())
//		//----- _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNjDmHiCnNiNjOiCnNiBeC_xHqqkZx_
//			pRec->LoadForkFile();
//			bUpdated = TRUE;
//			if (!pRec->GetSubTreeDocIdVector().empty())
//			//----- _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCkKiCkAiCoJiPoKiNiH_xHqqkZx_ -----
//			{
//				// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCoAjClCiCnHiCoJiBeC_xHqqkZx_
//				longSet stSubTreeId;
//				FFInsert(stSubTreeId, pRec->GetSubTreeDocIdVector());
//				CheckFileUpdatedTree(stSubTreeId);
//			}
//		}
//// 05.11.18 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
////		}
//	}
//	return bUpdated;
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	BOOL bUpdated = FALSE;
	longSet::const_iterator iId;
	for (iId = stDocumentId.begin(); iId != stDocumentId.end(); iId++)
	//----- _xZkqqHx_jHjKjHpAjFlGiPjBiCpAiDgAiDeGiDgCiDeO_xHqqkZx_ -----
	{
		const FCDbReadLock& readLockTerminate = lockBank.GetReadLock(FCTableName(HString(GetProjectPath()), *iId, FDHI_TERMINATE_TABLE_ID));
		const FCDbReadLock& readLockFork = lockBank.GetReadLock(FCTableName(HString(GetProjectPath()), *iId, FDHI_FORK_TABLE_ID));
		// _xZkqqHx_iKpJiCmJ_xHqqkZx_CheckFileUpdatedProject_xZkqqHx_iKnGjAjEiCmFjClCiNlIiNmPiCnNiCmMiClNiCnPiBeB_xHqqkZx_
		// _xZkqqHx_jHjKjHpAjFlGiPjBiCkKiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJjBlGiNnNiClFiCmIiCkCiPoKiNiHiCpAjClCiCnHiCoJjFeLjHhGiCmNiCmIiCkCiBeC_xHqqkZx_
		FCHTreeRec* pRec = DocumentIdToHTreeRec(*iId);
		// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiCmFiCmNiBeBiDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiPoOjFpBiCmNjFhDjHhGiBeC_xHqqkZx_
		// _xZkqqHx_iNfIjAfGiCmNjClCiCnHiCmIiCkNiCmEiCoAiCoGiCkCiBeC_xHqqkZx_
		// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiCpAiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//----- 06.02.06 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		pRec->CheckTerminateUpdated(readLockTerminate);
//		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCmIiCkNiCmEiCoAiBeBjHjKjHpAjFkKiKpCiDfOiDePiCmMjFmPiNfIiCmF_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCoJiJmCjEfMjAkLiCkKiCkAiCoJiBeC_xHqqkZx_
//		// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmMiNfIjAfGiCpAiDgAiDeGiDgCiDeOiBeC_xHqqkZx_
//		pRec->CheckForkUpdated(readLockFork);
//
//		if (pRec->IsTerminateUpdated())
//		//----- _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCmIiCoHjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
//			pRec->LoadTerminateFile(readLockTerminate);
//			bUpdated = TRUE;
//		}
//		if (pRec->IsForkUpdated())
//		//----- _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
//		{
//			// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNjDmHiCnNiNjOiCnNiBeC_xHqqkZx_
//			pRec->LoadForkFile(readLockFork);
//			bUpdated = TRUE;
//		}
//----- 06.02.06 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCmIiCkNiCmEiCoAiBeBjHjKjHpAjFkKiKpCiDfOiDePiCmMjFmPiNfIiCmF_xHqqkZx_
		// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCmJiPeDjAlDiCkKjDpMiCmBiCmEiCkCiCoJiJmCjEfMjAkLiCkKiCkAiCoJiBeC_xHqqkZx_
		if (pRec->IsTerminateOverwrited(readLockTerminate) ||
			pRec->IsTerminateAppended(readLockTerminate))
		//----- _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCmIiCoHjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
			pRec->LoadTerminateFile(readLockTerminate);
			bUpdated = TRUE;
		}
		if (pRec->IsForkOverwrited(readLockFork) ||
			pRec->IsForkAppended(readLockFork))
		//----- _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNjDmHiCnNiNjOiCnNiBeC_xHqqkZx_
			pRec->LoadForkFile(readLockFork);
			bUpdated = TRUE;
		}
//----- 06.02.06 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	}
	return bUpdated;
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::CheckFileUpdatedTree.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CheckFileUpdatedBranch
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNjHjKjHpAjFlGiPjBiCmM_xHqqkZx_FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmJjBmOiClFiCmEiBeBjBmOiJjO_xHqqkZx_
 *			_xZkqqHx_iClHiCoJjHjKjHpAiDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeBiDhEiDeAiDeDiDiLiCkJiCoHjDmHiCnNjClMiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	stDocumentId	:_xZkqqHx_iNfIjAfGiCpAjClCiCnHiCoJjFlGiPjBiCmM_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmN_xHqqkZx_ TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.07.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::CheckFileUpdatedBranch (	const longSet& stDocumentId,
												const FCDbLockBank& lockBank)
{
	BOOL bUpdated = FALSE;

	longSet stCheckDocId = stDocumentId;
//	for (long lC = 0; lC != 2; lC++)
	//----- _xZkqqHx_iCfBiJpBiClOiCkPiDiLiBfLiDhG_xHqqkZx_ -----
	{
		longSet stSubDocId;
		longSet::const_iterator iId;
		for (iId = stCheckDocId.begin(); iId != stCheckDocId.end(); iId++)
		//----- _xZkqqHx_jHjKjHpAjFlGiPjBiCpAiDgAiDeGiDgCiDeO_xHqqkZx_ -----
		{
			const FCDbReadLock& readLockTerminate = lockBank.GetReadLock(FCTableName(HString(GetProjectPath()), *iId, FDHI_TERMINATE_TABLE_ID));
			const FCDbReadLock& readLockFork = lockBank.GetReadLock(FCTableName(HString(GetProjectPath()), *iId, FDHI_FORK_TABLE_ID));
			const FCDbReadLock& readLockSummary = lockBank.GetReadLock(FCTableName(HString(GetProjectPath()), *iId, FDHI_SUMMARY_TABLE_ID));

			// _xZkqqHx_iKpJiCmJ_xHqqkZx_CheckFileUpdatedProject_xZkqqHx_iKnGjAjEiCmFjClCiNlIiNmPiCnNiCmMiClNiCnPiBeB_xHqqkZx_
			// _xZkqqHx_jHjKjHpAjFlGiPjBiCkKiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJjBlGiNnNiClFiCmIiCkCiPoKiNiHiCpAjClCiCnHiCoJjFeLjHhGiCmNiCmIiCkCiBeC_xHqqkZx_

			FCHTreeRec* pRec = DocumentIdToHTreeRec(*iId);

			if (pRec->IsTerminateOverwrited(readLockTerminate) ||
				pRec->IsTerminateAppended(readLockTerminate))
			//----- _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_jHjKjHpAiPeJjCfLiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiCmIiCoHjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
				pRec->LoadTerminateFile(readLockTerminate);
				bUpdated = TRUE;
			}
			if (pRec->IsForkOverwrited(readLockFork) ||
				pRec->IsForkAppended(readLockFork))
			//----- _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
			{
				// _xZkqqHx_jHjKjHpAjFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNjDmHiCnNiNjOiCnNiBeC_xHqqkZx_
				pRec->LoadForkFile(readLockFork);
				// _xZkqqHx_jFkKiKpCiDgFiBfLiDhFiDiLiCkKiNfIjAfGiClDiCoKiCmEiCkCiCoJiPoKiNiHiBeBjAfGiClFiCkCjHjKjHpAiOhNiCkKjCmHiJmBiClDiCoKiClNiJmCjEfMjAkLiCkKiCkAiCoJiBeC_xHqqkZx_
				// _xZkqqHx_jFkKiKpCiOhNiCmMiNfIjAfGiCoAiDgAiDeGiDgCiDeOiClFiCmIiCkCiCmGiBeBjFkKiKpCiImKjChFiCkKiCePiCmMiCnMiCnMiCmJiCmIiCmBiCmEiClFiCnMiCkEiBeC_xHqqkZx_
				FFInsert(stSubDocId, pRec->GetSubTreeDocIdVector());
				bUpdated = TRUE;
			}
			// _xZkqqHx_jHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiCmFiCmNiBeBiDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiPoOjFpBiCoAjFeLjHhGiBeC_xHqqkZx_
			// _xZkqqHx_iDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiCpAjClCiCnHiCoJiBeC_xHqqkZx_
			if (pRec->IsSummaryOverwrited(readLockSummary))
			//----- _xZkqqHx_jHjKjHpAiDeDiDjDiDgGiDgCiDeOiDfIiDhEiDeAiDeDiDiLiCkKiPoDiPjBiCkLiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
			{
				pRec->LoadSummary(readLockSummary);		// _xZkqqHx_jDmHiCnNiNjOiCnNiKnGjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
				bUpdated = TRUE;
			} else
			if (pRec->IsSummaryAppended(readLockSummary))
			//----- _xZkqqHx_jHjKjHpAiDeDiDjDiDgGiDgCiDeOiDfIiDhEiDeAiDeDiDiLiCkKjCmHiLeMiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
			{
				pRec->AppendSummary(readLockSummary);	// _xZkqqHx_jCmHiJmBjDmHiCnNiNjOiCnNiKnGjAjEiCpAiOmAiNhDiBeC_xHqqkZx_
				bUpdated = TRUE;
			}
		}
		// _xZkqqHx_jFkKiKpCiOhNiCmMiNfIjAfGiCoAjClCiCnHiCmEiCkIiCkNiBeC_xHqqkZx_
		stCheckDocId = stSubDocId;
	}
	return bUpdated;
//----- 06.01.30 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::CheckFileUpdatedBranch.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetDocRecExtData
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIjFlGiPjBiCmM_xHqqkZx_DocRecExtData_xZkqqHx_iBgJiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJiLeMjIfOiClDiCoKiCmEiCkCiCoJjFlGiPjBiPoOjFpBiBgK_xHqqkZx_
 *			_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	DocRecExtData_xZkqqHx_iCnGiCmMiDhMiDeDiDjDiDfOiBeCjBmOiJjOiClHiCoJjFlGiPjBiPoOjFpBiCkKjGlDiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	DocRecExtData_xZkqqHx_iCmNiBeBiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmMjFlGiPjBiPoOjFpBiCmMiDfCiDhDiBfLiBeC_xHqqkZx_
 *			_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCkKiDiNiDgCiDeOiClDiCoKiCmEiCkCiCmIiCkCiPpDjBnEiCmFiCoAjCgMiCpAiInLiOjNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCDocRecExtData* FCHTreeManager::GetDocRecExtData (long lDocId)
{
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->FCDocRecData_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
//	DocIdToDocRecExtMap::iterator i = m_mpDocIdToDocRecExt.find(lDocId);
//	if (i != m_mpDocIdToDocRecExt.end())
//		return i->second.get();
//	else
//		return NULL;
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return (FCDocRecExtData*)m_projectCopy.GetDocumentRec(lDocId);
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetDocRecExtData.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetDocRecExtData
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIjFlGiPjBiCmM_xHqqkZx_DocRecExtData_xZkqqHx_iBgJiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmJiLeMjIfOiClDiCoKiCmEiCkCiCoJjFlGiPjBiPoOjFpBiBgK_xHqqkZx_
 *			_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	DocRecExtData_xZkqqHx_iCnGiCmMiDhMiDeDiDjDiDfOiBeCjBmOiJjOiClHiCoJjFlGiPjBiPoOjFpBiCkKjGlDiCkCiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	DocRecExtData_xZkqqHx_iCmNiBeBiDhGiDiNiDfHiDeGiDeOiDgHjCiGiCmMjFlGiPjBiPoOjFpBiCmMiDfCiDhDiBfLiBeC_xHqqkZx_
 *			_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCkKiDiNiDgCiDeOiClDiCoKiCmEiCkCiCmIiCkCiPpDjBnEiCmFiCoAjCgMiCpAiInLiOjNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const FCDocRecExtData* FCHTreeManager::GetDocRecExtData (long lDocId) const
{
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_jFlGiPjB_xHqqkZx_ID->FCDocRecData_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
//	DocIdToDocRecExtMap::const_iterator i = m_mpDocIdToDocRecExt.find(lDocId);
//	if (i != m_mpDocIdToDocRecExt.end())
//		return i->second.get();
//	else
//		return NULL;
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return (const FCDocRecExtData*)m_projectCopy.GetDocumentRec(lDocId);
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetDocRecExtData.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::IsProjectOpened
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::IsProjectOpened () const
{
	return !m_projectCopy.GetFilePath().IsEmpty();
} // FCHTreeManager::IsProjectOpened.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::SubDocumentIdToTopId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCkJiCoHiBeBiClLiCmMjFlGiPjBiCkKjBkOiClHiCoJjGnIiNfMjBkCiCmMiDgHiDgCiDhGiCmMjHjKjHpAjFlGiPjBiCmM_xHqqkZx_
 *			ID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgHiDgCiDhGiCmMjHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iBeCiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ -1 _xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
long FCHTreeManager::SubDocumentIdToTopId (long lDocId) const
{
	return m_projectCopy.SubDocumentIdToTopId(lDocId);
} // FCHTreeManager::SubDocumentIdToTopId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectTitle
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjCiGiCmMiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDfOiDeDiDgHiDiLjFlGiOjKjHpBiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDfOiDeDiDgHiDiLjFlGiOjKjHpBiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
WString FCHTreeManager::GetProjectTitle () const
{
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return m_wstrProjectTitle;
	return m_projectCopy.GetTitle();
} // FCHTreeManager::GetProjectTitle.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectDate
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjCiGiCmMiDhGiDiNiDfHiDeGiDeOiDgHiCmMiNoMjAkMjDpKiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iNoMjAkMjDpKiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FDSECTIME FCHTreeManager::GetProjectDate () const
{
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return m_fdstProjectDate;
	return m_projectCopy.GetDate();
} // FCHTreeManager::GetProjectDate.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectIsUnknownFile
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jAfGiLeLiDhGiDiNiDfHiDeGiDeOiDgHiCmFiCkAiCoJiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jAfGiLeLiDhGiDiNiDfHiDeGiDeOiDgHiCmMiPoKiNiHiCmN_xHqqkZx_ TRUE _xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::GetProjectIsUnknownFile () const
{
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return m_bProjectIsUnknownFile;
	return m_projectCopy.GetIsUnknownFile();
} // FCHTreeManager::GetProjectIsUnknownFile.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectUserId
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
GUID FCHTreeManager::GetProjectUserId () const
{
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return m_guidProjectUserId;
	return m_projectCopy.GetUserId();
} // FCHTreeManager::GetProjectUserId.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectComment
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjCiGiCmMiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDfCiDiBiDjDiDgHiCpAiOoGjDlOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDfCiDiBiDjDiDgHjFlGiOjKjHpBiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
WString FCHTreeManager::GetProjectComment () const
{
// 06.01.26 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	return m_wstrProjectComment;
	return m_projectCopy.GetComment();
} // FCHTreeManager::GetProjectComment.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetProjectHintText
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmMiPoOjFpBiCpAiBeBiDhMiDgCiDhGiDhBiDjDiDgHiCmJjFfMiOkGiClHiCoJiCmMiCmJjDeLjDjGiCmI_xHqqkZx_
 *			_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCmGiClFiCmEjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDiBiDgCiDfKiBfLiDfHiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
WString FCHTreeManager::GetProjectHintText () const
{
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// _xZkqqHx_iOjOiKnEiDfGiDePiDgJiDiLiCmMiOjOiKnEiBeC_xHqqkZx_
//	COleDateTime otmDate = FdsecToFiletime(GetProjectDate());
//	// _xZkqqHx_jHoBiBeG_xHqqkZx_2004_xZkqqHx_jEeO_xHqqkZx_8_xZkqqHx_iMiO_xHqqkZx_19_xZkqqHx_jDpK_xHqqkZx_ 0_xZkqqHx_iOjO_xHqqkZx_15_xZkqqHx_jFkK_xHqqkZx_
//	// IDS_FORM_DATE_TIME_LONG = "%#Y_xZkqqHx_jEeO_xHqqkZx_%#m_xZkqqHx_iMiO_xHqqkZx_%#d %#H:%#M"
//	WString wstrDate = TStrToWStr(otmDate.Format(FFLoadString(IDS_FORM_DATE_TIME_LONG)));
//	WString wstrFilePath = GetProjectIsUnknownFile() ? FFGetApp()->GetDocString(CDocTemplate::docName) :
//														GetProjectPath();
//	// IDS_FORM_HTREE_PROPERTY_A =
//	// _xZkqqHx_iOoNjFmK_xHqqkZx_:_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgH_xHqqkZx_
//	// _xZkqqHx_iDfOiDeDiDgHiDiL_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iNoMjAkMjDpKiOjO_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iNoMjAkMiOnC_xHqqkZx_:%s\r\n
//	// _xZkqqHx_iDfCiDiBiDjDiDgH_xHqqkZx_:%s
//	return FormatResString(	IDS_FORM_HTREE_PROPERTY_A,
//							GetProjectTitle().c_str(),						// _xZkqqHx_iDfOiDeDiDgHiDiLiBeC_xHqqkZx_
//							wstrFilePath.c_str(),							// _xZkqqHx_iDhEiDeAiDeDiDiLiDhAiDfIiBeC_xHqqkZx_
//							wstrDate.c_str(),								// _xZkqqHx_iNoMjAkMjDpKiOjOiBeC_xHqqkZx_
//							UserIdToUserName(GetProjectUserId()).c_str(),	// _xZkqqHx_iNoMjAkMiOnCiBeC_xHqqkZx_
//							GetProjectComment().c_str());					// _xZkqqHx_iDfCiDiBiDjDiDgHiBeC_xHqqkZx_
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return m_projectCopy.GetHintText();
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::GetProjectHintText.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::UserIdToUserName
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClN_xHqqkZx_GUID_xZkqqHx_iCmMiDiGiBfLiDfFjGlMiCpAiMjPiNpFiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	guid	:_xZkqqHx_iDiGiBfLiDfFiCmM_xHqqkZx_GUID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDiGiBfLiDfFjGlMiCpAjFnEiClHiBeCiMkJiCmCiCkJiCoHiCmIiCkCiPoKiNiHiCmNiLpDjFlGiOjKiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.01.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
WString FCHTreeManager::UserIdToUserName (const GUID& guidUserId) const
{
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	//----- _xZkqqHx_iDiGiBfLiDfFiDhEiDeAiDeDiDiLiCpAiMjPiNpF_xHqqkZx_ -----
//	GuidToUserNameMap::const_iterator iUs = m_mpUserIdToName.find(guidUserId);
//	if (iUs == m_mpUserIdToName.end()) return L"";
//	return iUs->second;
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	return m_projectCopy.UserIdToUserName(guidUserId);
//----- 06.01.26 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCHTreeManager::UserIdToUserName.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::IsProjectUnknownFile
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCkKjGkCjFnLjBlGiCkJiCmHiCkEiCkJiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jGkCjFnLjBlGiCmMiPoKiNiHiCmN_xHqqkZx_TRUE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.05.29 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCHTreeManager::IsProjectUnknownFile () const
{
	return m_projectCopy.GetIsUnknownFile();
} // FCHTreeManager::IsProjectUnknownFile.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcLayoutProject
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.23 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::CalcLayoutProject ()
{
//----- 04.02.02 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	// m_mpDocIdToSubId _xZkqqHx_iCkKiLpDiCmMiPoKiNiHiCmMiNoMjAkMiPiIjHjNiCmMiClNiCnPiBeBiClBiCmMiKnGjAjEiCpAiMmEiCnBiPgPiClHiBeC_xHqqkZx_
//	GetSubTreeDocIdVectorForProject(-1);
//----- 04.02.02 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	CPoint ptRB = CalcLayoutProjectSub(	-1,
										CRect(	FD_HTREE_VIEW_GAP,
												FD_HTREE_VIEW_GAP,
												GetHistBoxSize().cx + FD_HTREE_VIEW_GAP,
												GetHistBoxSize().cy + FD_HTREE_VIEW_GAP));
	SetMostRightBottom(CPoint(	ptRB.x + FD_HTREE_VIEW_GAP,
								ptRB.y + FD_HTREE_VIEW_GAP));
} // FCHTreeManager::CalcLayoutProject.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcLayoutProjectSub
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkCiCmEiBeBiOhHjCoIiClDiCoKiClNjHjKjHpAjFlGiPjBiImIiJlKiCmM_xHqqkZx_
 *			_xZkqqHx_iDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId			:_xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *			rtBox			:_xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIiCmMiDfEiDeDiDfJiCpAiOhHjCoIiBeCiClBiCmMjHjKjHpAjFlGiPjBiCkK_xHqqkZx_
 *							 _xZkqqHx_jDfHiKeKiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ CRect(0,0,0,0)_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iNmFiCoAiJeFiJlKiCmMiNmAjFfHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iJlKiImKjFlGiPjBiCmM_xHqqkZx_FCHTreeRec_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCmJiCmNiBeBjBfDiCmEiNmAjFfHiCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_jDfHiKeKiClDiCoKiCmEiCkCiCmIiCkCjHjKjHpAjFlGiPjBiDhLiDgCiDeOiDfIiCmJiKnGiClFiCmEiCmNiBeB_xHqqkZx_FCHTreeRec_xZkqqHx_iCmM_xHqqkZx_
 *			m_ptRoot_xZkqqHx_iCmG_xHqqkZx_m_ptBox_xZkqqHx_iCmJiCmNiBeB_xHqqkZx_(-1, -1)_xZkqqHx_iCkKjAnNjCoIiClDiCoKiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDiMiDeDiDeBiDeFiDgHiMhGiOfKiCmMiBeBiKgFjFmPjAjEiBeC_xHqqkZx_
 *
 *                     rtBox
 *                     _xZkqqHx_iBkL_xHqqkZx_
 *                     _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                     _xZkqqHx_iEkPiEkKiElBiEkKiEkKiEkOiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEkG_xHqqkZx_
 *                     _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_ pExtData->m_ptBox  _xZkqqHx_iBkK_xHqqkZx_
 *          BoxHeadW _xZkqqHx_iBkIiEkFiEjPiElH_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_                _xZkqqHx_iBkL_xHqqkZx_BoxGapH
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkNiEjPiEjPiEkGiEkI_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_rtBox.Height() / 2
 *    pExtData->m_ptRoot _xZkqqHx_iBkIiElAiEkKiElC_xHqqkZx_        _xZkqqHx_iEkLiEjPiEjPiEkJiEjP_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_rtBox.Height() / 2
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkOiEjPiEjPiEkIiEjP_xHqqkZx_
 *                       _xZkqqHx_iBkIiElFiEjPiEkHiBkJ_xHqqkZx_IntroW = ExpBoxW / 2 + ExpBoxGapW
 *                         _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                       _xZkqqHx_iEkMiElDiEkNiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                       _xZkqqHx_iEkLiEkKiElAiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                       _xZkqqHx_iEkPiElBiEkOiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkPiEkKiElBiEkKiEkKiEkO_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iElAiEkKiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkOiEjPiEjPiEjPiEkG_xHqqkZx_
 *                                 _xZkqqHx_iEkL_xHqqkZx_                    _xZkqqHx_iBkK_xHqqkZx_
 *                                 _xZkqqHx_iEkLiEkFiEkHiBkJ_xHqqkZx_ ExpBoxGapW   _xZkqqHx_iBkL_xHqqkZx_BoxGapH
 *                           _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkLiEkAiEkMiEkKiEkKiEkKiEkKiEkNiEjPiEjPiEjPiEkI_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkGiEjPiEkMiElDiEkNiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                    ExpBoxH_xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkLiElEiElAiElC_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                         _xZkqqHx_iEjPiEkIiEjPiEkPiEkKiEkOiEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_
 *                           _xZkqqHx_iBkK_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkAiEkPiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                             _xZkqqHx_iBkIiEkFiEjPiEkHiBkJ_xHqqkZx_ ExpBoxW
 *
 * rtExpBox = pExtData->m_ptRoot.x - ExpBoxW / 2,
 *
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.23 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CPoint FCHTreeManager::CalcLayoutProjectSub (long lDocId,
											 const CRect& rtBox)
{
	const long lBoxGapH = rtBox.Height() / 3;
	const long lIntroW = (GetExpBoxSize().cx / 2) + GetExpBoxGap();
	const long lBoxHeadW = GetExpBoxSize().cx / 2;
	// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiDiKiDfIiDgHiBeC_xHqqkZx_
	const longVector* vSubDocId;
	// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCpAjDfHiKeKiClFiCmEiCkCiCoJiCkJiBeI_xHqqkZx_
	BOOL bSubExpanded = TRUE;
	if (lDocId != -1)
	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhLiDgCiDeOiDfIiCmMiOhHjCoIiCmFiCmNiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iKgHjCkDiDgGiBfLiDfOiCpAiOoGjDlOiBeC_xHqqkZx_
		FCDocRecExtData* pExtData = GetDocRecExtData(lDocId);
		// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiDiKiDfIiDgHiBeC_xHqqkZx_
		vSubDocId = &pExtData->GetSubDocumentId();
		// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiNmAjFfHiCpAjAnNjCoIiBeC_xHqqkZx_
		if (rtBox.IsRectNull())
		//----- _xZkqqHx_iClBiCmMjHjKjHpAjFlGiPjBiCkKjDfHiKeKiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_
			pExtData->SetBoxPoint(CPoint(-1, -1));
			// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_
			pExtData->SetRootPoint(CPoint(-1, -1));
			// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCpAjDfHiKeKiClFiCmEiCkCiCoJiCkJiBeI_xHqqkZx_
			bSubExpanded = FALSE;
		} else
		//----- _xZkqqHx_iClBiCmMjHjKjHpAjFlGiPjBiCkKjDfHiKeKiClDiCoKiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
		{
			// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_
			pExtData->SetBoxPoint(CPoint(rtBox.left, rtBox.top));
			// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_
			pExtData->SetRootPoint(CPoint(rtBox.left - lIntroW,
										rtBox.top + (rtBox.Height() / 2)));
			// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCpAjDfHiKeKiClFiCmEiCkCiCoJiCkJiBeI_xHqqkZx_
			bSubExpanded = pExtData->GetIsSubTreeExpanded();
		}
	} else
	//----- _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhLiDgCiDeOiDfIiCmMiOhHjCoIiCmMiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiDiKiDfIiDgHiBeC_xHqqkZx_
		vSubDocId = &m_vTopDocId;
	}
	// _xZkqqHx_iNmFiCoAiJeFiJlKiCmMiNmAjFfHiBeC_xHqqkZx_
	CPoint ptMostRB(rtBox.right, rtBox.bottom);
	if (bSubExpanded)
	//----- _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCpAjDfHiKeKiClFiCmEiCkCiCoJiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iJlKiImKjHjKjHpAiDhLiDgCiDeOiDfIiCmMiNlGjCfLiNmAjFfHiBeC_xHqqkZx_
		const long lSubBoxLeft = rtBox.left + lBoxHeadW + lIntroW;
		longVector::const_iterator iId;
		for (iId = vSubDocId->begin(); iId != vSubDocId->end(); iId++)
		{
			const CPoint ptRB = CalcLayoutProjectSub(
									*iId,
									CRect(	lSubBoxLeft,
											ptMostRB.y + lBoxGapH,
											lSubBoxLeft + rtBox.Width(),
											ptMostRB.y + lBoxGapH + rtBox.Height()));
			if (ptMostRB.x < ptRB.x)
				ptMostRB.x = ptRB.x;
			ptMostRB.y = ptRB.y;
		}
	} else
	//----- _xZkqqHx_iDfEiDhFiDgDiDiKiBfLiCpAjDfHiKeKiClFiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
		longVector::const_iterator iId;
		for (iId = vSubDocId->begin(); iId != vSubDocId->end(); iId++)
		{
			CalcLayoutProjectSub(*iId, CRect(0, 0, 0, 0));
		}
	}
	return ptMostRB;
} // FCHTreeManager::CalcLayoutProjectSub.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcLayoutTree
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBfDiCmEiCmMjHjKjHpAjGnIiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_jHjKjHpAjGnIiCmM_xHqqkZx_Id_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iClBiCoKiCmJiMhBiCkKiCoJiJlKiCmMjHjKjHpAjGnIjBfDiCmEiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *			HTreeRec.doc_xZkqqHx_iCpAiOfBiPmGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::CalcLayoutTree (long lDocId)
{
	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiNmAjFfHiCpAjAnNjCoIiBeC_xHqqkZx_
	FCHTreeRec* pRec = DocumentIdToHTreeRec(SubDocumentIdToTopId(lDocId));
	if (pRec != NULL)
	{
		CRectVector rtvOccupied;	// _xZkqqHx_jAoIjHeMiClDiCoKiCmEiCkCiCoJiLoJiMgAjHmMiIoGiBeCiDiMiDeDiDeBiDeFiDgHiMhGiOfKiCmFiOgHjHhAiBeC_xHqqkZx_
		VSLineVector slvOccupied;	// _xZkqqHx_jAoIjHeMiClDiCoKiCmEiCkCiCoJjApMjFkKiBeCiDiMiDeDiDeBiDeFiDgHiMhGiOfKiCmFiOgHjHhAiBeC_xHqqkZx_
		// _xZkqqHx_iDgHiDgCiDhGiCmMiNmAjFfHiCpAjAnNjCoIiBeC_xHqqkZx_
		pRec->SetRootPoint(CPoint(FD_HTREE_VIEW_GAP, FD_HTREE_VIEW_GAP));
		// _xZkqqHx_iDgHiDgCiDhGiImIiJlKiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiBeC_xHqqkZx_
		CRect rtTree = pRec->CalcLayoutTree(GetZoom(lDocId), rtvOccupied, slvOccupied);
		SetMostRightBottom(CPoint(	rtTree.right + FD_HTREE_VIEW_GAP,
									rtTree.bottom + FD_HTREE_VIEW_GAP));
	}
} // FCHTreeManager::CalcLayoutTree.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::CalcLayoutBranch
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiClDiCoKiClNjHjKjHpAiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	lDocId	:_xZkqqHx_iMhGiOfKiClHiCoJjHjKjHpAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCHTreeManager::CalcLayoutBranch (long lDocId)
{
	// _xZkqqHx_iDfOiBfLiDfBiDgCiDgHiCmMiNmAjFfHiCpAjAnNjCoIiBeC_xHqqkZx_
	FCHTreeRec* pRec = DocumentIdToHTreeRec(lDocId);
	if (pRec != NULL)
	{
		pRec->SetRootPoint(CPoint(	CalcTimeViewWidth() + FD_HTREE_VIEW_GAP,
									FD_HTREE_VIEW_GAP + GetHistBoxSize().cy / 2));
		// _xZkqqHx_jCfAiIoKiCmMjHjKjHpAiCmMiDiMiDeDiDeBiDeFiDgHiCpAiMhGiOfKiBeC_xHqqkZx_
		CRect rtTree = pRec->CalcLayoutBranch(GetZoom(lDocId));
		SetMostRightBottom(CPoint(	rtTree.right + FD_HTREE_VIEW_GAP,
									rtTree.bottom + FD_HTREE_VIEW_GAP));
	}
} // FCHTreeManager::CalcLayoutBranch.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetDocIdToHTreeRecMap
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	FCHTreeRec_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	FCHTreeRec_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_iDgGiDgPiDgCiDePiCmFiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCpAiDgAiDeGiDgCiDeOiClHiCoJiClNiCnPiBeBiClBiCmMiKnGjAjEiCpAjHhAiInDiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
DocIdToHTreeRecMap& FCHTreeManager::GetDocIdToHTreeRecMap ()
{
//	ASSERT(GetViewMode() != FDHT_VMODE_PROJECT);
	return m_mpDocIdToHTreeRec;
} // FCHTreeManager::GetDocIdToHTreeRecMap.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCHTreeManager::GetDocIdToHTreeRecMap
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	FCHTreeRec_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	FCHTreeRec_xZkqqHx_iCmMiDgFiBfLiDhFiDiLiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_iDgGiDgPiDgCiDePiCmFiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCpAiDgAiDeGiDgCiDeOiClHiCoJiClNiCnPiBeBiClBiCmMiKnGjAjEiCpAjHhAiInDiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.01.31 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const DocIdToHTreeRecMap& FCHTreeManager::GetDocIdToHTreeRecMap () const
{
//	ASSERT(GetViewMode() != FDHT_VMODE_PROJECT);
	return m_mpDocIdToHTreeRec;
} // FCHTreeManager::GetDocIdToHTreeRecMap.

