Leaked source code of windows server 2003
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.

127 lines
3.5 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // ListItem.h
  7. //
  8. // Abstract:
  9. // Definition of the CListItem class.
  10. //
  11. // Author:
  12. // David Potter (davidp) May 6, 1996
  13. //
  14. // Revision History:
  15. //
  16. // Notes:
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. #ifndef _LISTITEM_H_
  20. #define _LISTITEM_H_
  21. #ifndef __AFXTEMPL_H__
  22. #include "afxtempl.h" // for CList
  23. #endif
  24. /////////////////////////////////////////////////////////////////////////////
  25. // Forward Class Declarations
  26. /////////////////////////////////////////////////////////////////////////////
  27. class CListItem;
  28. /////////////////////////////////////////////////////////////////////////////
  29. // Type Definitions
  30. /////////////////////////////////////////////////////////////////////////////
  31. typedef CList<CListItem *, CListItem *> CListItemList;
  32. /////////////////////////////////////////////////////////////////////////////
  33. // Include Files
  34. /////////////////////////////////////////////////////////////////////////////
  35. #ifndef _COLITEM_H_
  36. #include "ColItem.h" // for CColumnItemList;
  37. #endif
  38. #ifndef _LISTVIEW_H_
  39. #include "ListView.h" // for CClusterListViewList
  40. #endif
  41. /////////////////////////////////////////////////////////////////////////////
  42. // External Class Declarations
  43. /////////////////////////////////////////////////////////////////////////////
  44. class CClusterItem;
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CListItem command target
  47. class CListItem : public CCmdTarget
  48. {
  49. friend class CClusterListView;
  50. DECLARE_DYNCREATE(CListItem)
  51. CListItem(void); // protected constructor used by dynamic creation
  52. CListItem(IN OUT CClusterItem * pci, IN OUT CTreeItem * pti);
  53. // Attributes
  54. protected:
  55. CTreeItem * m_ptiParent;
  56. CClusterItem * m_pci;
  57. CClusterListViewList m_lpclvViews;
  58. CClusterListViewList & LpclvViews(void) { return m_lpclvViews; }
  59. const CColumnItemList & Lpcoli(void) const;
  60. public:
  61. CTreeItem * PtiParent(void) const { return m_ptiParent; }
  62. CClusterItem * Pci(void) const { return m_pci; }
  63. int Ili(CClusterListView * pclv) const;
  64. CListCtrl * Plc(CClusterListView * pclv) const;
  65. const CString & StrName(void) const;
  66. // Operations
  67. public:
  68. int IliInsertInList(IN OUT CClusterListView * pclv);
  69. void RemoveFromAllLists(void);
  70. void PreRemoveFromList(IN OUT CClusterListView * pclv);
  71. virtual void UpdateState(void);
  72. void UpdateUIState(void);
  73. CMenu * PmenuPopup(void);
  74. void EditLabel(IN OUT CClusterListView * pclv);
  75. // Overrides
  76. // ClassWizard generated virtual function overrides
  77. //{{AFX_VIRTUAL(CListItem)
  78. public:
  79. virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
  80. //}}AFX_VIRTUAL
  81. // Implementation
  82. public:
  83. virtual ~CListItem(void);
  84. protected:
  85. // Generated message map functions
  86. //{{AFX_MSG(CListItem)
  87. // NOTE - the ClassWizard will add and remove member functions here.
  88. //}}AFX_MSG
  89. DECLARE_MESSAGE_MAP()
  90. }; //*** class CListItem
  91. /////////////////////////////////////////////////////////////////////////////
  92. // Global Functions
  93. /////////////////////////////////////////////////////////////////////////////
  94. void DeleteAllItemData(IN OUT CListItemList & rlp);
  95. /////////////////////////////////////////////////////////////////////////////
  96. #endif // _LISTITEM_H_