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

#pragma once
#include "FileView.h"
#include "ClassView.h"
#include "OutputWnd.h"
#include "PropertiesWnd.h"

#include "AKAssmsHub.h"

class CMainFrame : public CMDIFrameWndEx, public CAKAssmsHub
{
	DECLARE_DYNAMIC(CMainFrame)
public:
	CMainFrame();

// Attributes
public:

// Operations
public:

// Overrides
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL LoadFrame(UINT nIDResource, DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, CWnd* pParentWnd = NULL, CCreateContext* pContext = NULL);

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

protected:  // control bar embedded members
	CMFCMenuBar       m_wndMenuBar;
	CMFCToolBar       m_wndToolBar;
	CMFCStatusBar     m_wndStatusBar;
	CMFCToolBarImages m_UserImages;
	CFileView         m_wndFileView;
	CClassView        m_wndClassView;
	COutputWnd        m_wndOutput;
	CPropertiesWnd    m_wndProperties;

    // P2PeerMsg map functions
    // NOTES: Manage P2PeerMsg exchange AKAssms
    protected:
    DECLARE_P2PeerMsg_MAP()

// Generated message map functions
protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnWindowManager();
	afx_msg void OnViewCustomize();
	afx_msg LRESULT OnToolbarCreateNew(WPARAM wp, LPARAM lp);
	afx_msg void OnApplicationLook(UINT id);
	afx_msg void OnUpdateApplicationLook(CCmdUI* pCmdUI);
	afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
	DECLARE_MESSAGE_MAP()

      afx_msg LRESULT
        OnP2PeerTarget ( WPARAM wParam, LPARAM lParam );

      afx_msg void
        OnFileConnectObjectExplorer();
      afx_msg void
        OnUpdateFileConnectObjectExplorer(CCmdUI *pCmdUI);
      afx_msg void
        OnFileDisconnectObjectExplorer();
      afx_msg void
        OnUpdateFileDisconnectObjectExplorer(CCmdUI *pCmdUI);

      BOOL
        CreateDockingWindows();
      void
        SetDockingWindowIcons(BOOL bHiColorIcons);
};


