Source code of Windows XP (NT5)
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.

129 lines
2.9 KiB

  1. #if !defined(AFX_SYSTEMGROUP_H__D9BF4F9F_F673_11D2_BDC4_0000F87A3912__INCLUDED_)
  2. #define AFX_SYSTEMGROUP_H__D9BF4F9F_F673_11D2_BDC4_0000F87A3912__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // SystemGroup.h : header file
  7. //
  8. #include "HMObject.h"
  9. #include "SystemGroupScopeItem.h"
  10. #include "AllSystemsScopeItem.h"
  11. #include "HMSystemStatus.h"
  12. #include "System.h"
  13. #include "ActionPolicy.h"
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CSystemGroup command target
  16. class CSystemGroup : public CHMObject
  17. {
  18. DECLARE_SERIAL(CSystemGroup)
  19. // Construction/Destruction
  20. public:
  21. CSystemGroup();
  22. virtual ~CSystemGroup();
  23. // Clipboard Operations
  24. public:
  25. virtual bool Cut();
  26. virtual bool Copy();
  27. virtual bool Paste();
  28. // Operations
  29. public:
  30. virtual bool Refresh();
  31. virtual bool ResetStatus();
  32. virtual CString GetUITypeName();
  33. void Serialize(CArchive& ar);
  34. // State Members
  35. public:
  36. void TallyChildStates();
  37. // Scope Item Members
  38. public:
  39. virtual CScopePaneItem* CreateScopeItem();
  40. // New Child Creation Members
  41. public:
  42. void CreateNewChildSystemGroup();
  43. // System Shortcut Members
  44. public:
  45. int AddShortcut(CHMObject* pObject);
  46. CHMObject* GetShortcut(const CString& sName);
  47. void RemoveShortcut(CHMObject* pObject);
  48. protected:
  49. CTypedPtrArray<CObArray,CHMObject*> m_Shortcuts;
  50. // Attributes
  51. public:
  52. // Operations
  53. public:
  54. // Overrides
  55. // ClassWizard generated virtual function overrides
  56. //{{AFX_VIRTUAL(CSystemGroup)
  57. public:
  58. virtual void OnFinalRelease();
  59. //}}AFX_VIRTUAL
  60. // Implementation
  61. protected:
  62. // Generated message map functions
  63. //{{AFX_MSG(CSystemGroup)
  64. // NOTE - the ClassWizard will add and remove member functions here.
  65. //}}AFX_MSG
  66. DECLARE_MESSAGE_MAP()
  67. DECLARE_OLECREATE_EX(CSystemGroup)
  68. // Generated OLE dispatch map functions
  69. //{{AFX_DISPATCH(CSystemGroup)
  70. // NOTE - the ClassWizard will add and remove member functions here.
  71. //}}AFX_DISPATCH
  72. DECLARE_DISPATCH_MAP()
  73. DECLARE_INTERFACE_MAP()
  74. };
  75. /////////////////////////////////////////////////////////////////////////////
  76. class CAllSystemsGroup : public CSystemGroup
  77. {
  78. DECLARE_SERIAL(CAllSystemsGroup)
  79. // Construction/Destruction
  80. public:
  81. CAllSystemsGroup();
  82. virtual ~CAllSystemsGroup();
  83. // Scope Item Members
  84. public:
  85. virtual CScopePaneItem* CreateScopeItem();
  86. // Operations
  87. public:
  88. void Serialize(CArchive& ar);
  89. // System Shortcut Members
  90. public:
  91. int AddChild(CHMObject* pObject) { return CHMObject::AddChild(pObject); }
  92. void RemoveChild(CHMObject* pObject) { CHMObject::RemoveChild(pObject); }
  93. void DestroyChild(CHMObject* pObject, bool bDeleteClassObject = false) { CHMObject::DestroyChild(pObject,bDeleteClassObject); }
  94. };
  95. #include "SystemGroup.inl"
  96. //{{AFX_INSERT_LOCATION}}
  97. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  98. #endif // !defined(AFX_SYSTEMGROUP_H__D9BF4F9F_F673_11D2_BDC4_0000F87A3912__INCLUDED_)