// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__A056DEBB_1479_461B_8636_EAD527AE136C__INCLUDED_)
#define AFX_MAINFRM_H__A056DEBB_1479_461B_8636_EAD527AE136C__INCLUDED_

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


class COverFrame;
class ObjectManager;
class CObjManFrame;
class CResourceDlg;
class CGameFrame;

class CMainFrame : public CMDIFrameWnd
{
//	DECLARE_DYNAMIC(CMainFrame)
public:
	CMainFrame();
 // Attributes
public:

// Operations
public:
	void InitSecondaryWindows();
	void InitPostGame();
	BOOL OnIdle();
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMainFrame)
	public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
public:
	void LoadRegistryInfo();
	void SaveRegistryInfo();
	void ClearRegistryInfo();
	bool CloseMission();
	bool SaveIfModifedPrompt();
	void SaveMissionTextFiles();
	bool LoadMission(CString str,bool night);
	bool MakeReport(CString str,CString dpath=".");
	void RefreshAllWindows(CWnd *ignore=NULL);
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	COverFrame *overWin;
	ObjectManager *ObjMan;
	CObjManFrame *ObjManDlg;
	CResourceDlg *ResDlg;
	CGameFrame *GameWnd;
protected:  // control bar embedded members
	CStatusBar  m_wndStatusBar;
	CToolBar    m_wndToolBar;
	bool RegNoSave;
	bool ChildModal;
private:


// Generated message map functions
protected:
	//{{AFX_MSG(CMainFrame)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnViewShowgrid();
	afx_msg void OnFileOpen();
	afx_msg void OnFileSave();
	afx_msg void OnClose();
	afx_msg void OnWindowsGamewindow();
	afx_msg void OnWindowsInstancewindow();
	afx_msg void OnWindowsOverviewwindow();
	afx_msg void OnWindowsResourcewindow();
	afx_msg void OnWindowsCameraSettings();
	afx_msg void OnUpdateWindowsGamewindow(CCmdUI* pCmdUI);
	afx_msg void OnUpdateWindowsOverviewwindow(CCmdUI* pCmdUI);
	afx_msg void OnUpdateWindowsResourcewindow(CCmdUI* pCmdUI);
	afx_msg void OnToolsCheckscripts();
	afx_msg void OnFileNew();
	afx_msg void OnUpdateWindowsCamerasettings(CCmdUI* pCmdUI);
	afx_msg void OnWindowsShowhide();
	afx_msg void OnUpdateWindowsShowhide(CCmdUI* pCmdUI);
	afx_msg void OnWindowsTags();
	afx_msg void OnUpdateWindowsTags(CCmdUI* pCmdUI);
	afx_msg void OnWindowsResetwindows();
	afx_msg void OnUpdateWindowsMissionproperties(CCmdUI* pCmdUI);
	afx_msg void OnUpdateOptionsAnimatedCamera(CCmdUI* pCmdUI);
	afx_msg void OnOptionsAnimatedCamera();
	afx_msg void OnUpdateWindowsInstancewindow(CCmdUI* pCmdUI);
	afx_msg void OnFileSaveas();
	afx_msg void OnFileMapmanager();
	afx_msg void OnWindowsOverviewproperties();
	afx_msg void OnUpdateWindowsOverviewproperties(CCmdUI* pCmdUI);
	afx_msg void OnFileAudiofile();
	afx_msg void OnOptionsMissionreport();
	afx_msg void OnOptionsBatchreports();
	afx_msg void OnUpdateFileSave(CCmdUI* pCmdUI);
	afx_msg void OnUpdateFileSaveas(CCmdUI* pCmdUI);
	afx_msg void OnUpdateOptionsMissionreport(CCmdUI* pCmdUI);
	afx_msg void OnOptionsCameraSettings();
	afx_msg void OnOptionsMissionprops();
	afx_msg void OnOptionsObjectives();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__A056DEBB_1479_461B_8636_EAD527AE136C__INCLUDED_)
