#if !defined(AFX_WNDHISTORYTREE_H__EC7C414F_C005_11D2_AC6F_00C0F6B0E2D0__INCLUDED_)
#define AFX_WNDHISTORYTREE_H__EC7C414F_C005_11D2_AC6F_00C0F6B0E2D0__INCLUDED_

#include "WndBase.h"	// For Baseclass.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS CFCWndBase

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

/////////////////////////////////////////////////////////////////////////////
// CFCWndHistoryTree _xZkqqHx_iDeFiDeCiDjDiDgIiDeF_xHqqkZx_

class FCHTreeManager;
class FCHTreeRec;
// 04.07.07 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//class CFCFoundDoc;
class FCHiProject;
class FCAutoDC;
template<class GDIOBJ> class FCAutoGdiObj;
typedef FCAutoGdiObj<CPen> FCAtPen;
typedef FCAutoGdiObj<CBrush> FCAtBrush;
enum FTHTViewMode;
class FCAutoGdiStock;
enum FDTRClass;
class FCTimeLabelRec;
class FCHiForkTagRec;

#define FD_WHT_VW_BIT_MAX		31
#define FD_WHT_VW_PROJECT		(DWORD(1) << 31)		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhCiDiFiBfLiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_VW_TREE			(DWORD(1) << 30)		// _xZkqqHx_iDgDiDiKiBfLiDhCiDiFiBfLiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_VW_BRANCH		(DWORD(1) << 29)		// _xZkqqHx_iDhFiDiJiDjDiDgAiDhCiDiFiBfLiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_VW_BIT_MIN		29

#define FD_WHT_ON_BIT_MAX		28
#define FD_WHT_ON_BACKGROUND	(DWORD(1) << 28)		// _xZkqqHx_jEhHiMgJiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_PROJECT		(DWORD(1) << 27)		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_DOCUMENT		(DWORD(1) << 26)		// _xZkqqHx_jFlGiPjBiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_LABEL			(DWORD(1) << 25)		// _xZkqqHx_iDiJiDhIiDiLiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_HI_TAG		(DWORD(1) << 24)		// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_TIME_LABEL	(DWORD(1) << 23)		// _xZkqqHx_iOjOiKnEiDiJiDhIiDiLiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_TIME			(DWORD(1) << 22)		// _xZkqqHx_iOjOiKnEiDfGiDePiDgJiDiLiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_SUB_DOCUMENT	(DWORD(1) << 21)		// _xZkqqHx_iDfEiDhFjFlGiPjBiBgJiDiJiDhIiDiLiBgKiCmFiDeOiDiKiDgCiDeOiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_ON_BIT_MIN		21

//--------------------------------------------------------------
// FD_WHT_VW_XX_xZkqqHx_iBeB_xHqqkZx_FD_WHT_ON_XX _xZkqqHx_iCmN_xHqqkZx_ ActionList_xZkqqHx_iBeB_xHqqkZx_MenuIdList _xZkqqHx_iLkEjCmKiCmFiOgHjHhAiBeC_xHqqkZx_
// _xZkqqHx_iClBiCmMiClNiCnPiBeBiPoDiImKiDhCiDgCiDgHiCmJjChFiCkCiCmEiCkIiCkNjFeLjHhGiCkKjHeMiCoJiBeC_xHqqkZx_
//--------------------------------------------------------------

#define FD_WHT_MS_BIT_MAX		20
#define FD_WHT_MS_LBDOWN		(DWORD(1) << 20)		// _xZkqqHx_iDhNiDeFiDfIiNlGiDhLiDfOiDjDiDfPiDeFiDjDiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_RBDOWN		(DWORD(1) << 19)		// _xZkqqHx_iDhNiDeFiDfIiJeFiDhLiDfOiDjDiDfPiDeFiDjDiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_MBDOWN		(DWORD(1) << 18)		// _xZkqqHx_iDhNiDeFiDfIjCiGiDhLiDfOiDjDiDfPiDeFiDjDiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_LBUP			(DWORD(1) << 17)		// _xZkqqHx_iDhNiDeFiDfIiNlGiDhLiDfOiDjDiDeBiDgCiDhGiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_RBUP			(DWORD(1) << 16)		// _xZkqqHx_iDhNiDeFiDfIiJeFiDhLiDfOiDjDiDeBiDgCiDhGiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_MBUP			(DWORD(1) << 15)		// _xZkqqHx_iDhNiDeFiDfIjCiGiDhLiDfOiDjDiDeBiDgCiDhGiCmMiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_MS_BIT_MIN		14

#define FD_WHT_KY_BIT_MAX		13
#define FD_WHT_KY_SHIFT			(DWORD(1) << 13)		// _xZkqqHx_iDfGiDhEiDgHiDeMiBfLiCkKiJjPiClDiCoKiCmEiCkCiCoJiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_KY_CTRL			(DWORD(1) << 12)		// _xZkqqHx_iDfCiDjDiDgHiDiNiBfLiDiLiDeMiBfLiCkKiJjPiClDiCoKiCmEiCkCiCoJiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_KY_ALT			(DWORD(1) << 11)		// ALT_xZkqqHx_iDeMiBfLiCkKiJjPiClDiCoKiCmEiCkCiCoJiPoKiNiHiBeC_xHqqkZx_
#define FD_WHT_KY_BIT_MIN		11

#define FD_WHT_AC_BIT_MAX		10
#define FD_WHT_AC_MESSAGE		(DWORD(1) << 3)			// _xZkqqHx_iDiBiDgCiDfKiBfLiDfHiCpAiDhMiDfIiDgHiBeC_xHqqkZx_
#define FD_WHT_AC_SELECT		(DWORD(1) << 2)			// _xZkqqHx_jBeJjBpAiCpAjFmPiNfIiBeC_xHqqkZx_
#define FD_WHT_AC_LOWER			(DWORD(1) << 1)			// _xZkqqHx_iJlKiImKiDhCiDiFiBfLiCnGjFmPiNfIiBeC_xHqqkZx_
#define FD_WHT_AC_UPPER			(DWORD(1) << 0)			// _xZkqqHx_iPoDiImKiDhCiDiFiBfLiCnGjFmPiNfIiBeC_xHqqkZx_
#define FD_WHT_AC_BIT_MIN		0

const DWORD FD_WHT_VW_MASK = ((DWORD(pow(2, FD_WHT_VW_BIT_MAX - FD_WHT_VW_BIT_MIN + 1)) - 1) << FD_WHT_VW_BIT_MIN);
const DWORD FD_WHT_ON_MASK = ((DWORD(pow(2, FD_WHT_ON_BIT_MAX - FD_WHT_ON_BIT_MIN + 1)) - 1) << FD_WHT_ON_BIT_MIN);
const DWORD FD_WHT_MS_MASK = ((DWORD(pow(2, FD_WHT_MS_BIT_MAX - FD_WHT_MS_BIT_MIN + 1)) - 1) << FD_WHT_MS_BIT_MIN);
const DWORD FD_WHT_KY_MASK = ((DWORD(pow(2, FD_WHT_KY_BIT_MAX - FD_WHT_KY_BIT_MIN + 1)) - 1) << FD_WHT_KY_BIT_MIN);
const DWORD FD_WHT_AC_MASK = ((DWORD(pow(2, FD_WHT_AC_BIT_MAX - FD_WHT_AC_BIT_MIN + 1)) - 1) << FD_WHT_AC_BIT_MIN);

#define FD_WHT_VW_ALL FD_WHT_VW_MASK
#define FD_WHT_ON_ALL FD_WHT_ON_MASK
#define FD_WHT_MS_ALL FD_WHT_MS_MASK
#define FD_WHT_KY_ALL FD_WHT_KY_MASK
#define FD_WHT_AC_ALL FD_WHT_AC_MASK

const DWORD FD_WHT_MENU_ID_MASK = ((DWORD(pow(2, FD_WHT_MS_BIT_MAX - FD_WHT_AC_BIT_MIN + 1)) - 1) << FD_WHT_AC_BIT_MIN);

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	CFCWndHistoryTree
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAiNfMjBkCiCpAjFfMiOkGiClHiCoJiClNiCnPiCmMiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.23 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
class CFCWndHistoryTree : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;

// _xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfGiDiHiDjD_xHqqkZx_
public:
	CFCWndHistoryTree ();

// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
	virtual BOOL	Create (DWORD dwExStyle,
							DWORD dwStyle,
							const CRect& rect,
							CWnd* pParentWnd,
							UINT nID,
							CWnd* pMessageWnd = NULL,
							BOOL bIsAutoAlt = TRUE,
							const DWORD* pActionList = NULL,
							long lActionListCount = 0,
							const DWORD* pMenuIdList = NULL,
							long lMenuIdListCount = 0,
							CCreateContext* pContext = NULL);

//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SyncToDocument (FTHTViewMode viewMode,
//									const wchar_t* wcpProjectPath = NULL,
//									long lDocumentId = -1,
//									flint fliSessionIndex = -1,
//									BOOL bIsSelect = TRUE,
//									BOOL bIsMark = TRUE,
//									BOOL bIsFitHtreeViewZoom = FALSE,
//									BOOL bScrollTo = FALSE,
//									const WStringVector* vProjectPath = NULL,
//									const longVector* vDocumentId = NULL);
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	SyncToDocument (FTHTViewMode viewMode,
									const wchar_t* wcpProjectPath = NULL,
									long lDocumentId = -1,
									flint fliSessionIndex = -1,
									BOOL bIsSelect = TRUE,
									BOOL bIsMark = TRUE,
									BOOL bIsFitHtreeViewZoom = FALSE,
									BOOL bScrollTo = FALSE,
									const WStringVector* vProjectPath = NULL,
									const longVector* vDocumentId = NULL);
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	virtual double	GetFontZoom () const;
	virtual void	SetFontZoom (double dZoom);
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	ChangeViewMode (FTHTViewMode viewMode);
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	ChangeViewMode (FTHTViewMode viewMode);
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	virtual BOOL	CanChangeViewMode (FTHTViewMode viewMode) const;

//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetUpperViewMode ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	SetUpperViewMode ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	virtual BOOL	CanUpperViewMode ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetLowerViewMode ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	SetLowerViewMode ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	virtual BOOL	CanLowerViewMode ();

	virtual void	SetTempMark (short nForkOrLabel,
								 const wchar_t* wcpProjectPath,
								 long lDocumentId,
								 flint fliSessionIndex);
	virtual void	SetMarkUpHidocument (const wchar_t* wcpProjectPath,
										 const longSet& stDocId);

	virtual double	GetZoom () const;
	virtual BOOL	CanZoom () const;
	virtual void	GetZoomLimit (double& dZoomMin, double& dZoomMax, double& dZoomFit);

	virtual FTHTViewMode GetViewMode () const;

//----- 05.09.26 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual const wchar_t*	GetSelectedProjectPath () const;
//	virtual long	GetSelectedDocumentId () const;
////----- 05.09.24 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
//	virtual flint	GetSelectedSessionIndex () const;
//	virtual FDTRClass GetSelectedObject () const;
//	virtual long	GetSelectedObjectId () const;
////----- 05.09.24 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//	virtual BOOL	IsSelectedProjectOpened () const;
//----- 05.09.26 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	virtual const wchar_t*	GetLastClickedProjectPath () const;
	virtual long	GetLastClickedDocumentId () const;
	virtual flint	GetLastClickedSessionIndex () const;
	virtual FDTRClass GetLastClickedObject () const;
	virtual const void*	GetLastClickedObjectRec () const;

// 05.09.28 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	GetDefaultClickedPosition (WString& wstrProjectPath, long& lDocId, flint& fliSessionIndex) const;

	virtual const wchar_t*	GetMarkedProjectPath () const;
	virtual long	GetMarkedDocumentId () const;
	virtual flint	GetMarkedSessionIndex () const;

//----- 05.09.27 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual BOOL	IsProjectSelected (WString* wstrProjectPath = NULL) const;

	virtual BOOL	IsDocumentSelected (WString* wstrProjectPath = NULL,
										long* lDocumentId = NULL,
										flint* fliSessionIndex = NULL) const;

	virtual BOOL	IsHiTagSelected (	WString* wstrProjectPath = NULL,
										long* lDocumentId = NULL,
										flint* fliSessionIndex = NULL,
										FCHiForkTagRec* hiForkTagRec = NULL) const;

	virtual BOOL	IsTimeLabelSelected (	WString* wstrProjectPath = NULL,
											long* lDocumentId = NULL,
											flint* fliSessionIndex = NULL,
											FCTimeLabelRec* timeLabelRec = NULL) const;
//----- 05.09.27 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	virtual BOOL	IsSelectedProjectOpened () const;

//----- 05.09.29 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual BOOL	IsThereFork (	const wchar_t* wcpProjectPath,
									long lDocumentId,
									flint fliSessionIndex);
	virtual BOOL	IsThereHiForkTag (	const wchar_t* wcpProjectPath,
										long lDocumentId,
										flint fliSessionIndex);
//----- 05.09.29 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

//----- 05.09.26 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual WString	GetSelectedProjectPath () const;
	virtual long	GetSelectedDocumentId () const;
// 06.05.29 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual BOOL	IsSelectedProjectUnknownFile () const;

protected:
	virtual flint	GetSelectedSessionIndex () const;
	virtual FDTRClass GetSelectedObject () const;
	virtual long	GetSelectedObjectId () const;
//----- 05.09.26 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	virtual void	SetZoom (double dZoom);
	virtual void	UpdateCurrent (	BOOL bScrollTo = FALSE,
									const wchar_t* wcpNewOpenedProjectPath = NULL,
									long lNewOpenedDocumentId = -1,
									flint fliNewOpenedSessionIndex = -1);

//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetViewMode (	BOOL& bIsViewChanged,
//									BOOL& bIsLayoutChanged,
//									FTHTViewMode viewMode,
//									const wchar_t* wcpNewProjectPath,
//									long lNewDocId,
//									const wchar_t* wcpMarkedProjectPath,
//									long lMarkedDocumentId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	SetViewMode (	BOOL& bIsViewChanged,
									BOOL& bIsLayoutChanged,
									FTHTViewMode viewMode,
									const wchar_t* wcpSelectedProjectPath,
									long lSelectedDocumentId,
									flint fliSelectedSessionIndex,
									FDTRClass clsSelectedObject,
									long lSelectedObjectId,
									const WStringVector& vCheckProjectPath,
									const longVector& vCheckDocumentId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	virtual void	SetNoneView (BOOL& bIsViewChanged,
								BOOL& bIsLayoutChanged);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetProjectView (BOOL& bIsViewChanged,
//									BOOL& bIsLayoutChanged,
//									BOOL bProjectUpdated,
//									long lNewDocId);
//	virtual void	SetTreeView (BOOL& bIsViewChanged,
//								BOOL& bIsLayoutChanged,
//								BOOL bProjectUpdated,
//								long lNewDocId);
//	virtual void	SetBranchView (	BOOL& bIsViewChanged,
//									BOOL& bIsLayoutChanged,
//									BOOL bProjectUpdated,
//									long lNewDocId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual void	SetProjectView (BOOL& bIsViewChanged,
									BOOL& bIsLayoutChanged,
									long lSelectedDocumentId,
									flint fliSelectedSessionIndex,
									FDTRClass clsSelectedObject,
									long lSelectedObjectId);
	virtual void	SetTreeView (BOOL& bIsViewChanged,
								BOOL& bIsLayoutChanged,
								long lSelectedDocumentId,
								flint fliSelectedSessionIndex,
								FDTRClass clsSelectedObject,
								long lSelectedObjectId);
	virtual void	SetBranchView (	BOOL& bIsViewChanged,
									BOOL& bIsLayoutChanged,
									long lSelectedDocumentId,
									flint fliSelectedSessionIndex,
									FDTRClass clsSelectedObject,
									long lSelectedObjectId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetSelectedDocumentId (long lDocId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual BOOL	SetSelected (	long lDocId,
									flint fliSessionIndex,
									FDTRClass clsObject,
									long lObjectId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	virtual void	UpdateScrollSize ();
	virtual BOOL	DrawPositionMark (	CPoint* ptMark,
										CDC* pDC,
										const wchar_t* wcpMarkProjectPath,
										long lMarkDocId,
										flint fliMarkSessionIdxPos);

	virtual BOOL	DrawTempMarkMark (CDC* pDC);

	virtual void	OnPaintProjectSub (	long lDocId,
										long lSelectedDocId,
										BOOL bExpBoxSelected,
										FCAutoDC& atDC, 
										FCAutoGdiStock& gdiStock,
										long lFontH);
	virtual void	OnPaintProject (CDC* pDC);
	virtual void	OnPaintTree (CDC* pDC);
	virtual void	OnPaintBranch (CDC* pDC);

//----- 05.09.27 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual BOOL	WhichPtInProjectSub (long& lHitDocId,
//										BOOL& bHitExpandBox,
//										CRect& lgrtHitBox,
//										long lDocId,
//										const CPoint& pt) const;
//	virtual BOOL	WhichPtInProject (	long& lHitDocId,
//										BOOL& bHitExpandBox,
//										CRect& lgrtHitBox,
//										const CPoint& pt) const;
//----- 05.09.27 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual FDTRClass	WhichPtInProjectSub (long& lHitDocId,
											CRect& lgrtHitBox,
											long lDocId,
											const CPoint& pt) const;
	virtual FDTRClass	WhichPtInProject (	long& lHitDocId,
											CRect& lgrtHitBox,
											const CPoint& pt) const;
//----- 05.09.27 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual BOOL	WhichPtInTree (	flint& fliSessionIndex,
//									long& lDocId,
//									long& lHiForkTagId,
//									CRect& lgrtHitBox,
//									const CPoint& pt);
//	virtual BOOL	WhichPtInBranch (	flint& fliSessionIndex,
//										long& lDocId,
//										long& lLabelId,
//										long& lHiForkTagId,
//										long& lTimeLabelId,
//										long& lTimeId,
//										CRect& lgrtHitBox,
//										const CPoint& pt);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual FDTRClass	WhichPtInTree (	flint& fliSessionIndex,
										long& lDocId,
										long& lObjectId,
										CRect& lgrtHitBox,
										const CPoint& pt);

	virtual FDTRClass	WhichPtInBranch (	flint& fliSessionIndex,
											long& lObjectId,
											CRect& lgrtHitBox,
											const CPoint& pt);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	virtual CPoint	GetLastPoint ();
//----- 05.09.28 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual void	SetLastPoint (	const wchar_t* wcpProjectPath,
//									long lDocId,
//									flint fliSessionIndex);
//----- 05.09.28 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	virtual void	SetLastPoint (	const wchar_t* wcpProjectPath,
									long lDocId,
									flint fliSessionIndex,
									FDTRClass clsObject,
									long lObjectId);
//----- 05.09.28 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----

	virtual CPoint	GetPointInProject (	const wchar_t* wcpProjectPath,
										long lDocId);
	virtual CPoint	GetPointInTree (const wchar_t* wcpProjectPath,
									long lDocId,
									flint fliSessionIndex);
	virtual CPoint	GetPointInBranch (	const wchar_t* wcpProjectPath,
										long lDocId,
										flint fliSessionIndex);

	virtual CRect	GetClientRectLG () const;
	virtual CRect	GetCanvasRect () const;
	virtual void	ScrollTo (long lgX, long lgY, BOOL bRedrawNow = TRUE);

	virtual CPoint	LPtoDP (CPoint lgpt) const;
	virtual CRect	LPtoDP (CRect lgrt) const;
	virtual CPoint	DPtoLP (CPoint dvpt) const;
	virtual CRect	DPtoLP (CRect dvrt) const;

	virtual long	GetExpandedTopDocumentId (long lDocId) const;
// 05.09.22 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual CRect	GetTopRectInProject (long lDocId) const;
//----- 05.09.24 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual CRect	GetRectInTree (	long lDocumentId,
									FDTRClass clsObject,
									long lObjectId);
//----- 05.09.24 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//----- 05.09.26 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual CRect	GetRectInBranch (	FDTRClass clsObject,
										long lObjectId);
//----- 05.09.26 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----


	virtual void	BlinkTempMarkMark ();
	virtual void	BlinkMarkUpHidocument ();
	virtual void	RedrawMarkUpHidocument ();
	virtual BOOL	GetTempMarkRect (CPoint& pt, CRect& rtTempMark);

	virtual DWORD	GetAction (DWORD dwState) const;
	virtual long	GetMenuId (DWORD dwState) const;

	virtual CWnd*	GetMessageWnd ();

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	static LPCTSTR	s_lpszClassName;	// AfxRegisterWndClass_xZkqqHx_iCmFjDgPjIfOiClDiCoKiClN_xHqqkZx_
										// _xZkqqHx_iDeOiDiJiDfIjGlMiCpAjFnLjBlGiBeC_xHqqkZx_
	CWnd*			m_pMessageWnd;		// _xZkqqHx_iDiBiDgCiDfKiBfLiDfHjBjHjFhEjAoGiDeFiDeCiDjDiDgIiDeFiBeC_xHqqkZx_
	FCHTreeManager*	m_pHtreeManager;	// _xZkqqHx_jHjKjHpAjGnIiKmHjHjNiDeJiDhFiDfHiDeGiDeOiDgHiBeC_xHqqkZx_

	DWORDVector		m_vActionList;		// _xZkqqHx_iDeBiDeOiDfGiDiHiDjDiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
	DWORDVector		m_vMenuIdList;		// _xZkqqHx_iDiBiDgKiDiFiBfL_xHqqkZx_ID_xZkqqHx_iCmMiDiKiDfIiDgHiBeC_xHqqkZx_

	//----- _xZkqqHx_iMlLiNnNiImKjChFjFfMiOkGiDhNiBfLiDeOjHhA_xHqqkZx_ -----
	// _xZkqqHx_jHjKjHpAiNfMjBkCiDhCiDiFiBfLiCmFiCmNiBeBiImIiJlKiCfBiCmCiCmMiPoOjFpBiCkKjFeLjHhGiBeC_xHqqkZx_
	// _xZkqqHx_iHeAiMlLiNnN_xHqqkZx_ _xZkqqHx_jHjKjHpAiNfMjBkCiDhCiDiFiBfLiCmJjFfMiOkGiClDiCoKiCmEiCoJiBgJjBkGiClPjBeJjBpAiClDiCoKiCmEiCkCiCoJiBgKjHjKjHpAiOhNiBeC_xHqqkZx_
	// _xZkqqHx_iHeBiMlLiNnN_xHqqkZx_ _xZkqqHx_iDhNiBfLiDeKiBfLiClDiCoKiCmEiCkCiCoJjHjKjHpAiOhNiBeC_xHqqkZx_
	//
	long			m_lSelectedDocumentId;			// _xZkqqHx_iHeAiMlLiNnN_xHqqkZx_ _xZkqqHx_jHjKjHpAiNfMjBkCiDhCiDiFiBfLiCmJjFfMiOkGiClDiCoKiCmEiCoJiBgJjBkGiClPjBeJjBpAiClDiCoKiCmEiCkCiCoJiBgKjHjKjHpAiOhNiBeC_xHqqkZx_

	flint			m_fliSelectedSessionIndex;		// 
	FDTRClass		m_clsSelectedObject;
	long			m_lSelectedObjectId;

	WString			m_wstrCurMarkedProjectPath;		// _xZkqqHx_iHeBiMlLiNnN_xHqqkZx_ _xZkqqHx_iDhNiBfLiDeKiBfLiClDiCoKiCmEiCkCiCoJjHjKjHpAiOhNiBeCiCmMiDhGiDiNiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
	long			m_lCurMarkedDocumentId;			// _xZkqqHx_iHeBiMlLiNnN_xHqqkZx_ _xZkqqHx_iDhNiBfLiDeKiBfLiClDiCoKiCmEiCkCiCoJjHjKjHpAiOhNiBeC_xHqqkZx_
	flint			m_fliCurMarkedSessionIndex;		// _xZkqqHx_iHeBiMlLiNnN_xHqqkZx_ _xZkqqHx_iDhNiBfLiDeKiBfLiClDiCoKiCmEiCkCiCoJjHjKjHpAiOhNiBeCiCmMiDfKiDgCiDfGiDiHiDjDiImKjChFiBeC_xHqqkZx_

	HICON			m_hIconProject;		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDhLiDgCiDeOiDfIjHhAiDeBiDeDiDfCiDjDiBeC_xHqqkZx_
	HICON			m_hIconHidocument;	// _xZkqqHx_jHjKjHpAiDhLiDgCiDeOiDfIjHhAiDeBiDeDiDfCiDjDiBeC_xHqqkZx_
	HICON			m_hIconBgnLabel;	// _xZkqqHx_iKeKiOgOiDiJiDhIiDiLiDhLiDgCiDeOiDfIjHhAiDeBiDeDiDfCiDjDiBeC_xHqqkZx_
	HICON			m_hIconHiForkTag;	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePjHhAiDeBiDeDiDfCiDjDiBeC_xHqqkZx_
	HICON			m_hIconTimeLabel;	// _xZkqqHx_iOjOiKnEiDiJiDhIiDiLjHhAiDeBiDeDiDfCiDjDiBeC_xHqqkZx_

	long			m_lgOffsetX;		// Scroll_xZkqqHx_iCmMiDeJiDhEiDfKiDgCiDgHjCgMiBeC_xHqqkZx_
	long			m_lgOffsetY;		// Scroll_xZkqqHx_iCmMiDeJiDhEiDfKiDgCiDgHjCgMiBeC_xHqqkZx_
	double			m_dScrollRatioX;	// Scroll_xZkqqHx_jHmKiCmGiOmAiNnLiCmMiDeJiDhEiDfKiDgCiDgHjCgMiCmMjEoEiBeC_xHqqkZx_
	double			m_dScrollRatioY;	// Scroll_xZkqqHx_jHmKiCmGiOmAiNnLiCmMiDeJiDhEiDfKiDgCiDgHjCgMiCmMjEoEiBeC_xHqqkZx_

	WString			m_wstrLastProjectPath;	// _xZkqqHx_jBePiJpBiDeOiDiKiDgCiDeOiClDiCoKiClNiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDhAiDfIiBeC_xHqqkZx_
	long			m_lLastDocumentId;		// _xZkqqHx_jBePiJpBiDeOiDiKiDgCiDeOiClDiCoKiClNjHjKjHpAiOhNiBeC_xHqqkZx_
	flint			m_fliLastSessionIndex;	// _xZkqqHx_jBePiJpBiDeOiDiKiDgCiDeOiClDiCoKiClNjHjKjHpAiImKjChFiBeC_xHqqkZx_
	FDTRClass		m_clsLastObject;		// _xZkqqHx_jBePiJpBiDeOiDiKiDgCiDeOiClDiCoKiClNiDeJiDhFiDfHiDeGiDeOiDgHiBeC_xHqqkZx_
	long			m_lLastObjectId;		// _xZkqqHx_jBePiJpBiDeOiDiKiDgCiDeOiClDiCoKiClNiDeJiDhFiDfHiDeGiDeOiDgHiCmM_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_

	CPoint			m_lgptLastMouse;		// _xZkqqHx_jBePiJpBiCmMiDhNiDeFiDfIiImKjChFiBeCiDhNiDeFiDfIiInKjDkOiCpAiDgAiDeGiDgCiDeOiClHiCoJiClNiCnPiCmJiBeC_xHqqkZx_

	WString			m_wstrTempMarkProjectPath;	// _xZkqqHx_iJlMjAnNjFkKiKpCiDhGiDiNiDfHiDeGiDeOiDgHiCmMiDhAiDfIiBeC_xHqqkZx_
	short			m_nTempMarkOrLabel;			// _xZkqqHx_iJlMjAnNiDhNiBfLiDeOiCmMiOoNjHnOiBeC_xHqqkZx_
	long			m_lTempMarkDocumentId;		// _xZkqqHx_iJlMjAnNjFkKiKpCjHjKjHpAiOhNiBeC_xHqqkZx_
	flint			m_fliTempMarkSessionIndex;	// _xZkqqHx_iJlMjAnNjFkKiKpCjHjKjHpAiImKjChFiBeC_xHqqkZx_
	long			m_lTimerBlink;				// _xZkqqHx_iJlMjAnNjFkKiKpCjDjJiCmMjDfPjGmFiMfHjAjEiBeC_xHqqkZx_
//----- 04.06.10 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	longSet			m_stMarkUpDocumentId;		// _xZkqqHx_iDhNiBfLiDeOiDeBiDgCiDhGiClDiCoKiClNjHjKjHpAjFlGiPjBiPfHiNiHiBeC_xHqqkZx_

// _xZkqqHx_iDeBiDgHiDiKiDhCiDiFiBfLiDgH_xHqqkZx_
public:

// _xZkqqHx_iDeJiDhJiDiMiBfLiDfGiDiHiDjD_xHqqkZx_
public:

// _xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCmMiDeJiBfLiDgPiBfLiDiJiDeDiDgIiCpAjAlGjAkMiClFiCnMiClHiBeC_xHqqkZx_

	//{{AFX_VIRTUAL(CFCWndHistoryTree)
	//}}AFX_VIRTUAL

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
public:
	virtual ~CFCWndHistoryTree();

	// _xZkqqHx_jAlGjAkMiClDiCoKiClNiDiBiDgCiDfKiBfLiDfH_xHqqkZx_ _xZkqqHx_iDhNiDgCiDhGiKnGjAjE_xHqqkZx_
protected:
	//{{AFX_MSG(CFCWndHistoryTree)
	afx_msg void OnPaint();
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnSetFocus(CWnd* pOldWnd);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnDestroy();
	//}}AFX_MSG
	afx_msg LRESULT OnImeNotify(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnUserSetZoom256(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnUserPursuerTextNeedInfo(WPARAM wParam, LPARAM lParam = 0);
	DECLARE_MESSAGE_MAP()

//----- 04.07.05 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnHtreeGlobalView();
//	afx_msg void OnUpdateHtreeGlobalView(CCmdUI* pCmdUI);
//	afx_msg void OnHtreeDetailView();
//	afx_msg void OnUpdateHtreeDetailView(CCmdUI* pCmdUI);
//----- 04.07.05 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 04.07.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnHtreeZoomin();
//	afx_msg void OnUpdateHtreeZoomin(CCmdUI* pCmdUI);
//	afx_msg void OnHtreeZoomout();
//	afx_msg void OnUpdateHtreeZoomout(CCmdUI* pCmdUI);
//----- 04.07.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 04.07.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnRbtnHtreeDocDelete();
//	afx_msg void OnUpdateRbtnHtreeDocDelete(CCmdUI* pCmdUI);
//----- 04.07.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 04.07.08 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnRbtnHtreeProperty();
//	afx_msg void OnUpdateRbtnHtreeProperty(CCmdUI* pCmdUI);
//----- 04.07.08 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 04.07.18 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnRbtnHtreePutHiForkTag();
//	afx_msg void OnUpdateRbtnHtreePutHiForkTag(CCmdUI* pCmdUI);
//----- 04.07.18 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
//----- 04.07.18 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	afx_msg void OnRbtnHtreeForkHistory();
//	afx_msg void OnUpdateRbtnHtreeForkHistory(CCmdUI* pCmdUI);
//----- 04.07.18 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

}; // class CFCWndHistoryTree.

/////////////////////////////////////////////////////////////////////////////

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

#endif // !defined(AFX_WNDHISTORYTREE_H__EC7C414F_C005_11D2_AC6F_00C0F6B0E2D0__INCLUDED_)
