windows-nt/Source/XPSP1/NT/drivers/ftapi/ftman/mainfrm.h
2020-09-26 16:20:57 +08:00

146 lines
3.9 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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_)