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

170 lines
4.9 KiB
C++

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
FTMan
File Name:
FTListVw.h
Abstract:
The definition of class CFTListView. It is a list view displaying all members of a volume
Author:
Cristian Teodorescu October 20, 1998
Notes:
Revision History:
--*/
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_FTLISTVW_H__B83E0003_6873_11D2_A297_00A0C9063765__INCLUDED_)
#define AFX_FTLISTVW_H__B83E0003_6873_11D2_A297_00A0C9063765__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "FTManDef.h"
class CItemData;
class CFTDocument;
class CFTListView : public CListView
{
protected: // create from serialization only
CFTListView();
DECLARE_DYNCREATE(CFTListView)
// Attributes
public:
CFTDocument* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFTListView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void OnInitialUpdate(); // called first time after construct
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CFTListView();
// Get the current status of the list ( what items are selected )
void GetSnapshot( LIST_SNAPSHOT& snaphshot );
// Set the snapshot of the list ( what items must be selected )
void SetSnapshot( LIST_SNAPSHOT& snapshot );
// Fill the list view with all children of the given item. Take this children from the tree view
BOOL SynchronizeMembersWithTree( CItemData* pParentData );
// Refresh item ( redisplay the item according with the information contained by its lParam which is a CItemData* )
// WARNING: Now it only redisplays the name of the item !!!!
BOOL RefreshItem( int iItem );
// Display the names of items in extended format ( name + type ) when bExtended is TRUE
// Otherwise display the names in reduced format
void DisplayItemsExtendedNames( BOOL bExtended = TRUE );
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Get focused item
int GetFocusedItem() const;
// Set focused item
BOOL SetFocusedItem( int iItem );
// Select / Deselect a given item
BOOL SelectItem( int iItem, BOOL bSelect=TRUE );
// Retrieve the data structure associated with the item
CItemData* GetItemData( int iItem );
// Add a new item at the end of the list given a CItemData instance
BOOL AddItem( CItemData* pData );
// Repopulate the list by adding all members of m_pParentData from the tree
BOOL AddMembersFromTree();
// Fill the list view with all members of the given item
// It causes also the expandation of the parent item in the tree view ( if it is not expanded )
// and the selection of the given item in the tree view
BOOL ExpandItem(int iItem);
// Get all selected items in the given array ( array of CItemData )
void GetSelectedItems( CObArray& arrSelectedItems );
protected:
// Structure containing info related to the parent of the members displayed by the list view
CItemData* m_pParentData;
// The popup menu that appears when the user clicks the mouse right button is the first popup
// of the following menu
CMenu m_menuPopup;
// Generated message map functions
protected:
//{{AFX_MSG(CFTListView)
afx_msg void OnDestroy();
afx_msg void OnDblclk(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnItemExpand();
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnActionAssign();
afx_msg void OnUpdateActionAssign(CCmdUI* pCmdUI);
afx_msg void OnActionFtbreak();
afx_msg void OnUpdateActionFtbreak(CCmdUI* pCmdUI);
afx_msg void OnActionCreateExtendedPartition();
afx_msg void OnUpdateActionCreateExtendedPartition(CCmdUI* pCmdUI);
afx_msg void OnActionCreatePartition();
afx_msg void OnUpdateActionCreatePartition(CCmdUI* pCmdUI);
afx_msg void OnActionDelete();
afx_msg void OnUpdateActionDelete(CCmdUI* pCmdUI);
afx_msg void OnActionFtinit();
afx_msg void OnUpdateActionFtinit(CCmdUI* pCmdUI);
afx_msg void OnActionFtmirror();
afx_msg void OnUpdateActionFtmirror(CCmdUI* pCmdUI);
afx_msg void OnActionFtstripe();
afx_msg void OnUpdateActionFtstripe(CCmdUI* pCmdUI);
afx_msg void OnActionFtswap();
afx_msg void OnUpdateActionFtswap(CCmdUI* pCmdUI);
afx_msg void OnActionFtswp();
afx_msg void OnUpdateActionFtswp(CCmdUI* pCmdUI);
afx_msg void OnActionFtvolset();
afx_msg void OnUpdateActionFtvolset(CCmdUI* pCmdUI);
//}}AFX_MSG
afx_msg void OnStyleChanged(int nStyleType, LPSTYLESTRUCT lpStyleStruct);
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in FTListVw.cpp
inline CFTDocument* CFTListView::GetDocument()
{ return (CFTDocument*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FTLISTVW_H__B83E0003_6873_11D2_A297_00A0C9063765__INCLUDED_)