170 lines
4.9 KiB
C
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_)
|