#ifndef __FrameWnd_h
#define __FrameWnd_h

#include "resource.h"	// For ID_XXX.

class CFCCtlBrHRuler;
class CFCCtlBrVRuler;

enum FTHTViewMode;

class FCFrameWnd
{
public:
	virtual BOOL		IsAvailable () const;
	virtual CFrameWnd*	GetWnd ();
	virtual HWND		GetSafeHwnd () const;

	virtual void	OnCloseDocument ();

	// _xZkqqHx_iDfIiDgFiBfLiDfOiDfIiDgPiBfLjFfMiOkGiBeC_xHqqkZx_
	virtual void	SetStatusBarText (const wchar_t* wcpText, DWORD dwId = ID_INDICATOR_PROP);
	// _xZkqqHx_iDgFiDeMiDfIiDgHiCmMjBhNjDpMiDiCiBfLiDgIiBeC_xHqqkZx_
	virtual BOOL	IsOvrMode () const;
	virtual void	SetOvrMode (BOOL bIsOvr);

// 06.04.05 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	UpdateStatusBarDate ();

	//----- _xZkqqHx_iDiLiBfLiDiJiBfLiKnGiMfHiKnGjAjE_xHqqkZx_ -----
	virtual CFCCtlBrHRuler*	HRuler () const;
	virtual CFCCtlBrVRuler*	VRuler () const;

	//----- _xZkqqHx_iDeBiDeOiDfKiDiJiDiMiBfLiDfOiKnGjAjE_xHqqkZx_ -----
	virtual HACCEL	GetUserAccelerator () const;

	//----- _xZkqqHx_iDiLiBfLiDiJiBfLiDhNiDeFiDfIiDhNiBfLiDeKiBfLiKnGiMfHiKnGjAjE_xHqqkZx_ -----
	virtual void	SetRulerMMKVisible (short nIndex, BOOL bIsVisible);
	virtual void	MoveRulerMMK (short nIndex, const DBLPoint& mmpt, const wchar_t* tcpAddText = NULL);
	virtual void	MoveRulerMMK (const DBLPoint& mmpt0, const DBLPoint& mmpt1, const wchar_t* tcpAddText = NULL);

	// Frame_xZkqqHx_iImIiKePiCmFiBeBiOkJjDkOiCgAiCgLiChDiCpAjHeMiMpIiCmJiClHiCoJiDeFiDeCiDjDiDgIiDeFiCpAjAnNjCoIiBeC_xHqqkZx_
	virtual void	AddAutoAltWindow (HWND hWnd);
	virtual void	DeleteAutoAltWindow (HWND hWnd);
	virtual BOOL	IsAutoAltWindow (HWND hWnd) const;
	// _xZkqqHx_jBlMiDeFiDeCiDjDiDgIiDeFiBgJiDfJiBfLiDiAiDfCiDjDiDhLjDjJiBgKiCmMiDeMiBfLjDpMjHmNiCpAjAnNjCoIiBeCiDeBiDeOiDfKiDiJiDiMiBfLiDfOiCpAjGlDiMpIiCmJiClHiCoJiBeC_xHqqkZx_
	virtual void	SetIgnoreAccelTable (BOOL bIgnore);

	//----- _xZkqqHx_jBeJjBpAjFjEjFgJiKnGiMfHiKnGjAjE_xHqqkZx_ -----

	//----- _xZkqqHx_iPiJiKpKiJlLiBeFiPeJjHlJiPiIjHjN_xHqqkZx_ -----
	virtual void	InitContents ();	// Document::InitContents_xZkqqHx_iCkJiCoHiOmAiNhDiBeC_xHqqkZx_
	virtual void	DeleteContents ();	// Document::DeleteContents_xZkqqHx_iCkJiCoHiOmAiNhDiBeC_xHqqkZx_

	//----- _xZkqqHx_iDhGiDiKiDjDiDfOiBeFiDhGiDiMiDhCiDiFiBfLiIpDiNpMiPiIjHjN_xHqqkZx_ -----
	virtual void	OnBeginPrintPreview ();
	virtual void	OnEndPrintPreview ();

	virtual LRESULT	SendMessage (UINT message, WPARAM wParam = 0, LPARAM lParam = 0);
	virtual BOOL	PostMessage (UINT message, WPARAM wParam = 0, LPARAM lParam = 0);

	// _xZkqqHx_iDeKiBfLiDfMiDiLjAnNjCoIiBeC_xHqqkZx_
	virtual void SetCurCursor (const CWnd* pWnd, HCURSOR hCursor);

//----- 06.04.05 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual void	SetHiviewTempMark (	short nForkOrLabel,
//										const wchar_t* wcpProjectPath,
//										long lDocumentId,
//										flint fliSessionIndex);
//	virtual void	SetHiviewMarkUpHidocument (	const wchar_t* wcpProjectPath,
//												const longSet& stDocId);
//	virtual long	GetHiMoveOperation (long& lOpeValue) const;
//
//	virtual BOOL	SyncHiviewToDocument (	FTHTViewMode viewMode,
//											const wchar_t* wcpProjectPath,
//											long lDocumentId,
//											flint fliSessionIndex,
//											BOOL bIsSelect,
//											BOOL bIsMark,
//											BOOL bIsFitHtreeViewZoom,
//											BOOL bScrollTo,
//											const WStringVector* vProjectPath = NULL,
//											const longVector* vDocumentId = NULL);
//	virtual void	SetHiviewFontZoom (double dZoom);
//	virtual void	ChangeHiviewViewMode (FTHTViewMode viewMode);
//	virtual void	SetHiviewZoom256 (long lZoom256);
//----- 06.04.05 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	virtual void	SetOnCmdMsgWnd (HWND hWnd);

	//----- _xZkqqHx_iDfIiDeOiDiNiBfLiDiLiDiBiDgCiDfKiBfLiDfHiOpDiCkPiOoGiCoIiDeFiDeCiDjDiDgIiDeF_xHqqkZx_ -----
	virtual void	RegisterScrollWindow (HWND hWnd);
	virtual void	UnregisterScrollWindow (HWND hWnd);
}; // class FCFrameWnd.

extern FCFrameWnd* FFGetMainWnd ();

#endif//__FrameWnd_h
