// DynamicDraw.h : MOLIPDRAW _xZkqqHx_iDeBiDhGiDiKiDfAiBfLiDfGiDiHiDjDiCmMiDiBiDeDiDjD_xHqqkZx_ _xZkqqHx_iDhHiDgCiDfPiBfL_xHqqkZx_ _xZkqqHx_iDhEiDeAiDeDiDiL_xHqqkZx_
//

#if !defined(AFX_MOLIPDRAW_H__0F2570E5_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_)
#define AFX_MOLIPDRAW_H__0F2570E5_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"       // _xZkqqHx_iDiBiDeDiDjD_xHqqkZx_ _xZkqqHx_iDfGiDjDiDhLiDiL_xHqqkZx_

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS CWinApp

class FCUndoArchive;
class CFCPursuerText;

/////////////////////////////////////////////////////////////////////////////
// CFCMolipDrawApp:
// _xZkqqHx_iClBiCmMiDeOiDiJiDfIiCmMjDkOiNoMiCmMjCoIiLgAiCmJiKnGiClFiCmEiCmN_xHqqkZx_ MolipDraw.cpp _xZkqqHx_iDhEiDeAiDeDiDiLiCpAiOfBiPmGiClFiCmEiCkNiClOiClDiCkCiBeC_xHqqkZx_
//

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

public:
	CFCMolipDrawApp ();
//#ifdef _DEBUG
	virtual ~CFCMolipDrawApp ();
//#endif//_DEBUG

// _xZkqqHx_iDiGiBfLiDfFiKnGjAjEiBeC_xHqqkZx_
public:
// 06.04.25 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual HINSTANCE	GetResourceInstance () const;

	virtual WString	GetDocString (CDocTemplate::DocStringIndex index) const;
	virtual BOOL	SetPrinterPaperSize (short dmOrientation, CPoint ptPaperSize, WORD wPaperIdReccomended);

	virtual void	OutStream (FCUndoArchive& ar);
	virtual void	InStream (FCUndoArchive& ar);
	static void		SkipStream (FCUndoArchive& ar);

	virtual WString	GetProfileStringW (	const wchar_t* lpszSection,
										const wchar_t* lpszEntry,
										const wchar_t* lpszDefault = NULL);
	virtual UINT	GetProfileIntW (const wchar_t* lpszSection,
									const wchar_t* lpszEntry, int nDefault);
	virtual BOOL	WriteProfileIntW (const wchar_t* lpszSection,
									const wchar_t* lpszEntry, int nValue);
	virtual BOOL	WriteProfileStringW (const wchar_t* lpszSection,
										const wchar_t* lpszEntry,
										const wchar_t* lpszValue);
	virtual BOOL	GetProfileBinaryW (	const wchar_t* lpszSection,
										const wchar_t* lpszEntry,
										LPBYTE* ppData,
										UINT* pBytes);
	virtual BOOL	WriteProfileBinaryW (const wchar_t* lpszSection,
										 const wchar_t* lpszEntry,
										 LPBYTE pData,
										 UINT nBytes);

	virtual CFCPursuerText*	GetPopHint ();
//----- 06.03.15 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual void	RegisterPopHintTarget (HWND hwnd);
	virtual void	UnregisterPopHintTarget (HWND hwnd);
//----- 06.03.15 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

	virtual	GUID	GetUserId () const;
	virtual WString	GetUserName () const;

	virtual void	AddOnIdleWindow (HWND hwnd);
	virtual void	DelOnIdleWindow (HWND hwnd);

	//----- _xZkqqHx_iDhHiDiLiDhGiDiAiBfLiDhCiBfLiKnGjIeB_xHqqkZx_ -----
	virtual WString	GetPophintText (DWORD dwCommandId) const;
	virtual BOOL	IsValidHelpId (DWORD dwCommandId) const;
	virtual void	GetMovieIndex (longSet& stIndex, DWORD dwCommandId) const;
	virtual WString	GetMovieFileName (long lIndex) const;
	virtual WString	GetMovieTitle (long lIndex) const;

// _xZkqqHx_iDiGiBfLiDfFjFmPjAjEiBeC_xHqqkZx_
protected:
	HINSTANCE			m_hResInstance;			// _xZkqqHx_iDiKiDfMiBfLiDfIjHhAiDeDiDjDiDfIiDfOiDjDiDfIiBeC_xHqqkZx_
	CFCPursuerText*		m_pPopHint;				// _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiBeC_xHqqkZx_
	set<HWND>			m_stOnIdleWindow;		// OnIdle_xZkqqHx_iOjOiCmJjCmKjCgNiCpAiOpDiCkPiOoGiCoJiDeFiDeCiDjDiDgIiDeFiDiKiDfIiDgHiBeC_xHqqkZx_

	map<DWORD, WString>	m_mpCommandToPophintText;	// _xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID -> _xZkqqHx_iDhMiDgCiDhGiDhBiDjDiDgHiDgFiDeMiDfIiDgHiBeC_xHqqkZx_
	DWORDSet			m_stValidHelpId;			// _xZkqqHx_jHeMiMpIiCmIiDhHiDiLiDhG_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	vector<WStringPair>	m_vHelpMovieFile;			// _xZkqqHx_iDhHiDiLiDhGiDiAiBfLiDhCiBfLjEhKjHpBiBeC_xHqqkZx_(_xZkqqHx_iDhEiDeAiDeDiDiLjGlM_xHqqkZx_, _xZkqqHx_iDiAiBfLiDhCiBfLiDfOiDeDiDgHiDiL_xHqqkZx_)_xZkqqHx_iCmMjEhKjHpBiBeC_xHqqkZx_
	map<DWORD, longSet>	m_mpCommandToMovieIndex;	// _xZkqqHx_iDfCiDhNiDjDiDgI_xHqqkZx_ID -> m_vHelpMovieFile_xZkqqHx_jEhKjHpBiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_

// _xZkqqHx_iDeJiBfLiDgPiBfLiDiJiDeDiDgI_xHqqkZx_
	// ClassWizard _xZkqqHx_iCmNiJlMjBhKiKnGjAjEiCmMiDeJiBfLiDgPiBfLiDiJiDeDiDgIiCpAjAlGjAkMiClFiCnMiClHiBeC_xHqqkZx_
	//{{AFX_VIRTUAL(CFCMolipDrawApp)
	public:
	virtual BOOL InitInstance();
	virtual int ExitInstance();
	virtual CDocument* OpenDocumentFile(LPCTSTR lpszFileName);
	virtual int DoMessageBox(LPCTSTR lpszPrompt, UINT nType, UINT nIDPrompt);
	virtual BOOL OnIdle(LONG lCount);
	//}}AFX_VIRTUAL
//	virtual void AddToRecentFileList(LPCTSTR lpszPathName);

// _xZkqqHx_iDeDiDjDiDhGiDiKiDiBiDjDiDgFiBfLiDfGiDiHiDjD_xHqqkZx_
	COleTemplateServer m_server;
		// _xZkqqHx_iDgIiDeMiDiFiDiBiDjDiDgHiCpAiNoMjAkMiClHiCoJiClNiCnPiCmMiDfEiBfLiDgPiBfL_xHqqkZx_ _xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgH_xHqqkZx_
	//{{AFX_MSG(CFCMolipDrawApp)
	afx_msg void OnAppAbout();
	afx_msg void OnAppWinExit();
	afx_msg void OnHelpMolipHomepage();
	afx_msg void OnHelpAdvertise0();
	afx_msg void OnFileOpen();
	//}}AFX_MSG
//	afx_msg BOOL OnOpenRecentFile(UINT nID);
// 06.03.25 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	afx_msg void OnHelpMovie();
	DECLARE_MESSAGE_MAP()
}; // class CFCMolipDrawApp.

extern CFCMolipDrawApp* FFGetApp ();

extern BOOL FFCanBasicOperate ();
extern BOOL FFCanEditDocument ();
extern BOOL FFCanEditObject ();
extern BOOL FFCanCreateObject ();
extern BOOL FFCanEditDocumentEnv ();
extern BOOL FFCanEditReadOnlyDocumentEnv ();
extern BOOL FFCanEditSelected ();
extern BOOL FFCanEditText ();
extern BOOL FFIsSheetReady ();

#ifdef _DD_PRO
extern BOOL FFCanEditProject ();
#endif//_DD_PRO

extern long FFGetZoomListValue (DWORD dwCtrlId, long lIndex);
// 06.11.29 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
extern long FFGetZoomListCount (DWORD dwCtrlId);
extern long FFGetLowerZoomValue (DWORD dwCtrlId, long lValue);
extern long FFGetUpperZoomValue (DWORD dwCtrlId, long lValue);

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

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

#endif // !defined(AFX_MOLIPDRAW_H__0F2570E5_A510_11D2_AC0E_00C0F6B0E2D0__INCLUDED_)
