/***************************************************************************
**
**    $Header$
**  
**    $Log$
** 
****************************************************************************/

// mainfrm.h : interface of the CMainFrame class
//
#ifndef _MAINFRM_H_
#define _MAINFRM_H_

#include "flttool.h"
#include "toolbar.h"
#include "status.h"
extern BOOL isSaveLayoutOnExit;
class CMainFrame : public CMDIFrameWnd
{
	DECLARE_DYNAMIC(CMainFrame)
public:
	CMainFrame();

// Attributes
protected:
	BOOL m_bInPrev;
    int m_nTimerID;
// Operations
public:

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual void OnSetPreviewMode(BOOL bPreview, CPrintPreviewState* pState);

// Control bar embedded members
public:
	CSuperStatusBar  m_wndStatusBar;
	CSuperToolBar    m_wndToolBar;

// Generated message map functions

protected:
	//{{AFX_MSG(CMainFrame)
	afx_msg LONG OnXMMDIActive(UINT wParam, LONG lParam);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnClose();
	afx_msg void OnUpdateWindowCloseall(CCmdUI* pCmdUI);
	afx_msg void OnUpdateInsert(CCmdUI* pCmdUI);
	afx_msg void OnWindowCloseall();
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnFileLoad();
	afx_msg void OnWindowSource();
	afx_msg void OnUpdateWindowSource(CCmdUI* pCmdUI);
	afx_msg void OnUpdateWindowBrowse(CCmdUI* pCmdUI);
	afx_msg void OnWindowBrowse();
	afx_msg void OnUpdateWindowShell(CCmdUI* pCmdUI);
	afx_msg void OnWindowShell();
	afx_msg void OnFileInclude();
	afx_msg void OnUpdateWindowCpu(CCmdUI* pCmdUI);
	afx_msg void OnWindowCpu();
	afx_msg void OnUpdateWindowMemory(CCmdUI* pCmdUI);
	afx_msg void OnWindowMemory();
	afx_msg void OnGroupMemory();
	afx_msg void OnGroupSource();
	afx_msg void OnUpdateFileBrowsemodule(CCmdUI* pCmdUI);
	afx_msg void OnFileBrowsemodule();
	afx_msg void OnRunBreakpoint();
	afx_msg void OnToggleInsert();
	afx_msg void OnUpdateToggleInsert(CCmdUI* pCmdUI);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnWindowTrace();
	afx_msg void OnUpdateWindowTrace(CCmdUI* pCmdUI);
	afx_msg void OnWindowVariable();
	afx_msg void OnUpdateWindowVariable(CCmdUI* pCmdUI);
	afx_msg void OnUpdateWindowStack(CCmdUI* pCmdUI);
	afx_msg void OnWindowStack();
	afx_msg void OnRunGo();
	afx_msg void OnUpdateRunGo(CCmdUI* pCmdUI);
	afx_msg void OnRunGoCondition();
	afx_msg void OnUpdateRunGoCondition(CCmdUI* pCmdUI);
	afx_msg void OnRunJump();
	afx_msg void OnRunHalt();
	afx_msg void OnUpdateRunHalt(CCmdUI* pCmdUI);
	afx_msg void OnRunRestart();
	afx_msg void OnUpdateRunRestart(CCmdUI* pCmdUI);
	afx_msg void OnRunReset();
	afx_msg void OnUpdateRunReset(CCmdUI* pCmdUI);
	afx_msg void OnWindowPeripheral();
	afx_msg void OnUpdateWindowPeripheral(CCmdUI* pCmdUI);
	afx_msg void OnOptionsSavelayoutnow();
	afx_msg void OnOptionsSavelayoutonexit();
	afx_msg void OnUpdateOptionsSavelayoutonexit(CCmdUI* pCmdUI);
	afx_msg void OnGotoShell();
	afx_msg void OnOptionsMap();
	afx_msg void OnRunStepinto();
	afx_msg void OnRunStepintocontinuously();
	afx_msg void OnRunStepout();
	afx_msg void OnRunStepover();
	afx_msg void OnRunStepovercontinuously();
	afx_msg void OnGroupTrace();
	afx_msg void OnUpdateGroupTrace(CCmdUI* pCmdUI);
	afx_msg void OnRunGorun();
	afx_msg void OnToggleTrace();
	afx_msg void OnUpdateToggleTrace(CCmdUI* pCmdUI);
	afx_msg void OnUpdateOptionsMap(CCmdUI* pCmdUI);
	afx_msg void OnUpdateGroupMemory(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunBreakpoint(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunGorun(CCmdUI* pCmdUI);
	afx_msg void OnUpdateGroupSource(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunJump(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunStepinto(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunStepintocontinuously(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunStepout(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunStepover(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRunStepovercontinuously(CCmdUI* pCmdUI);
	afx_msg void OnUpdateFileLoad(CCmdUI* pCmdUI);
	afx_msg void OnFileRestoreconfig();
	afx_msg void OnFileSaveconfig();
	afx_msg void OnRunResetandgo();
	afx_msg void OnUpdateRunResetandgo(CCmdUI* pCmdUI);
	afx_msg void OnOptionLogo();
	afx_msg void OnUpdateOptionLogo(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#endif
