mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.9 KiB
146 lines
3.9 KiB
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
FTMan
|
|
|
|
File Name:
|
|
|
|
MainFrm.h
|
|
|
|
Abstract:
|
|
|
|
The definition of class CMainFrame. It is the MFC main frame class for this application
|
|
|
|
Author:
|
|
|
|
Cristian Teodorescu October 20, 1998
|
|
|
|
Notes:
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_MAINFRM_H__B83DFFFF_6873_11D2_A297_00A0C9063765__INCLUDED_)
|
|
#define AFX_MAINFRM_H__B83DFFFF_6873_11D2_A297_00A0C9063765__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "FTManDef.h"
|
|
|
|
class CFTTreeView;
|
|
class CFTListView;
|
|
class CItemData;
|
|
|
|
class CMainFrame : public CFrameWnd
|
|
{
|
|
|
|
protected: // create from serialization only
|
|
CMainFrame();
|
|
DECLARE_DYNCREATE(CMainFrame)
|
|
|
|
// Attributes
|
|
protected:
|
|
CSplitterWnd m_wndSplitter;
|
|
public:
|
|
// Enables auto refresh of both views on WM_ACTIVATEAPP
|
|
BOOL m_bEnableAutoRefresh;
|
|
|
|
// Did some auto refresh request come while the auto refresh flag was disabled?
|
|
BOOL m_bAutoRefreshRequested;
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMainFrame)
|
|
public:
|
|
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CMainFrame();
|
|
CFTTreeView* GetLeftPane();
|
|
CFTListView* GetRightPane();
|
|
CStatusBar* GetStatusBar() { return &m_wndStatusBar; };
|
|
|
|
// Refreshes the content of both views by keeping ( when possible ) the expanded and
|
|
// selected items.
|
|
// It is also possible to change the selected items and to add some expanded items
|
|
BOOL RefreshAll(
|
|
CItemIDSet* psetAddTreeExpandedItems = NULL,
|
|
CItemIDSet* psetTreeSelectedItems = NULL,
|
|
CItemIDSet* psetListSelectedItems = NULL );
|
|
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
protected: // control bar embedded members
|
|
CStatusBar m_wndStatusBar;
|
|
CToolBar m_wndToolBar;
|
|
|
|
UINT_PTR m_unTimer;
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CMainFrame)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnViewToggle();
|
|
afx_msg void OnViewRefresh();
|
|
afx_msg void OnActivateApp(BOOL bActive, HTASK hTask);
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnTimer(UINT nIDEvent);
|
|
//}}AFX_MSG
|
|
afx_msg void OnUpdateViewStyles(CCmdUI* pCmdUI);
|
|
afx_msg void OnViewStyle(UINT nCommandID);
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Global functions related to CMainFrame
|
|
|
|
// Refreshes the content of both views of the mainframe by keeping ( when possible )
|
|
// the expanded and selected items.
|
|
// It is also possible to change the selected items and to add some expanded items
|
|
BOOL AfxRefreshAll(
|
|
CItemIDSet* psetAddTreeExpandedItems = NULL,
|
|
CItemIDSet* psetTreeSelectedItems = NULL,
|
|
CItemIDSet* psetListSelectedItems = NULL );
|
|
|
|
// Enables / Disables the auto refresh of both views of the mainframe on WM_ACTIVATEAPP
|
|
BOOL AfxEnableAutoRefresh( BOOL bEnable = TRUE );
|
|
|
|
|
|
// Class AutoRefresh - a easier way to disable / enable the auto-refresh flag inside a code block
|
|
// On constructor enables or disables the Auto refresh flag
|
|
// On destructor restores the old Auto refresh flag
|
|
class CAutoRefresh
|
|
{
|
|
public:
|
|
CAutoRefresh( BOOL bEnable = FALSE ) { m_bPrevious = AfxEnableAutoRefresh(bEnable); };
|
|
~CAutoRefresh() { AfxEnableAutoRefresh( m_bPrevious ); };
|
|
|
|
protected:
|
|
BOOL m_bPrevious;
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_MAINFRM_H__B83DFFFF_6873_11D2_A297_00A0C9063765__INCLUDED_)
|
|
|