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.

198 lines
5.7 KiB

  1. #if !defined(AFX_RESULTSPANE_H__7D4A685C_9056_11D2_BD45_0000F87A3912__INCLUDED_)
  2. #define AFX_RESULTSPANE_H__7D4A685C_9056_11D2_BD45_0000F87A3912__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // ResultsPane.h : header file
  7. //
  8. #include <mmc.h>
  9. class CScopePane;
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CResultsPane command target
  12. class CResultsPane : public CCmdTarget
  13. {
  14. DECLARE_DYNCREATE(CResultsPane)
  15. // Construction/Destruction
  16. public:
  17. CResultsPane();
  18. virtual ~CResultsPane();
  19. // Creation/Destruction overrideable members
  20. protected:
  21. virtual bool OnCreate(LPCONSOLE pIConsole);
  22. virtual bool OnCreateOcx(LPUNKNOWN pIUnknown);
  23. virtual bool OnDestroy();
  24. // Owner Scope Pane Members
  25. public:
  26. CScopePane* GetOwnerScopePane() const;
  27. void SetOwnerScopePane(CScopePane* pOwnerPane);
  28. protected:
  29. CScopePane* m_pOwnerScopePane;
  30. // MMC Interface Members
  31. public:
  32. LPCONSOLE2 GetConsolePtr() const;
  33. LPRESULTDATA GetResultDataPtr() const;
  34. LPHEADERCTRL2 GetHeaderCtrlPtr() const;
  35. LPCONTROLBAR GetControlbarPtr() const;
  36. LPTOOLBAR GetToolbarPtr() const;
  37. LPCONSOLEVERB GetConsoleVerbPtr() const;
  38. LPIMAGELIST GetImageListPtr() const;
  39. protected:
  40. LPCONSOLE2 m_pIConsole;
  41. LPRESULTDATA m_pIResultData;
  42. LPHEADERCTRL2 m_pIHeaderCtrl;
  43. LPCONTROLBAR m_pIControlbar;
  44. LPTOOLBAR m_pIToolbar;
  45. LPCONSOLEVERB m_pIConsoleVerb;
  46. LPIMAGELIST m_pIImageList;
  47. // Control bar Members
  48. protected:
  49. virtual HRESULT OnSetControlbar(LPCONTROLBAR pIControlbar);
  50. virtual HRESULT OnControlbarNotify(MMC_NOTIFY_TYPE event, LPARAM arg, LPARAM param);
  51. // MMC Result Item Icon Management
  52. public:
  53. int AddIcon(UINT nIconResID);
  54. int GetIconIndex(UINT nIconResID);
  55. int GetIconCount();
  56. void RemoveAllIcons();
  57. protected:
  58. CMap<UINT,UINT,int,int> m_IconMap;
  59. // MFC Operations
  60. public:
  61. // Overrides
  62. // ClassWizard generated virtual function overrides
  63. //{{AFX_VIRTUAL(CResultsPane)
  64. public:
  65. virtual void OnFinalRelease();
  66. //}}AFX_VIRTUAL
  67. // MFC Implementation
  68. protected:
  69. // Generated message map functions
  70. //{{AFX_MSG(CResultsPane)
  71. // NOTE - the ClassWizard will add and remove member functions here.
  72. //}}AFX_MSG
  73. DECLARE_MESSAGE_MAP()
  74. // Generated OLE dispatch map functions
  75. //{{AFX_DISPATCH(CResultsPane)
  76. // NOTE - the ClassWizard will add and remove member functions here.
  77. //}}AFX_DISPATCH
  78. DECLARE_DISPATCH_MAP()
  79. DECLARE_INTERFACE_MAP()
  80. // IComponent Interface Part
  81. BEGIN_INTERFACE_PART(Component,IComponent)
  82. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
  83. /* [in] */ LPCONSOLE lpConsole);
  84. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify(
  85. /* [in] */ LPDATAOBJECT lpDataObject,
  86. /* [in] */ MMC_NOTIFY_TYPE event,
  87. /* [in] */ LPARAM arg,
  88. /* [in] */ LPARAM param);
  89. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy(
  90. /* [in] */ MMC_COOKIE cookie);
  91. /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDataObject(
  92. /* [in] */ MMC_COOKIE cookie,
  93. /* [in] */ DATA_OBJECT_TYPES type,
  94. /* [out] */ LPDATAOBJECT __RPC_FAR *ppDataObject);
  95. /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetResultViewType(
  96. /* [in] */ MMC_COOKIE cookie,
  97. /* [out] */ LPOLESTR __RPC_FAR *ppViewType,
  98. /* [out] */ long __RPC_FAR *pViewOptions);
  99. /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayInfo(
  100. /* [out][in] */ RESULTDATAITEM __RPC_FAR *pResultDataItem);
  101. /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareObjects(
  102. /* [in] */ LPDATAOBJECT lpDataObjectA,
  103. /* [in] */ LPDATAOBJECT lpDataObjectB);
  104. END_INTERFACE_PART(Component)
  105. // IResultDataCompare Interface Part
  106. BEGIN_INTERFACE_PART(ResultDataCompare,IResultDataCompare)
  107. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Compare(
  108. /* [in] */ LPARAM lUserParam,
  109. /* [in] */ MMC_COOKIE cookieA,
  110. /* [in] */ MMC_COOKIE cookieB,
  111. /* [out][in] */ int __RPC_FAR *pnResult);
  112. END_INTERFACE_PART(ResultDataCompare)
  113. // IExtendContextMenu Interface Part
  114. BEGIN_INTERFACE_PART(ExtendContextMenu,IExtendContextMenu)
  115. /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMenuItems(
  116. /* [in] */ LPDATAOBJECT piDataObject,
  117. /* [in] */ LPCONTEXTMENUCALLBACK piCallback,
  118. /* [out][in] */ long __RPC_FAR *pInsertionAllowed);
  119. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Command(
  120. /* [in] */ long lCommandID,
  121. /* [in] */ LPDATAOBJECT piDataObject);
  122. END_INTERFACE_PART(ExtendContextMenu)
  123. // IExtendPropertySheet2 Interface Part
  124. BEGIN_INTERFACE_PART(ExtendPropertySheet2,IExtendPropertySheet2)
  125. /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePropertyPages(
  126. /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
  127. /* [in] */ LONG_PTR handle,
  128. /* [in] */ LPDATAOBJECT lpIDataObject);
  129. /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPagesFor(
  130. /* [in] */ LPDATAOBJECT lpDataObject);
  131. /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWatermarks(
  132. /* [in] */ LPDATAOBJECT lpIDataObject,
  133. /* [out] */ HBITMAP __RPC_FAR *lphWatermark,
  134. /* [out] */ HBITMAP __RPC_FAR *lphHeader,
  135. /* [out] */ HPALETTE __RPC_FAR *lphPalette,
  136. /* [out] */ BOOL __RPC_FAR *bStretch);
  137. END_INTERFACE_PART(ExtendPropertySheet2)
  138. // IExtendControlbar Interface Part
  139. BEGIN_INTERFACE_PART(ExtendControlbar,IExtendControlbar)
  140. /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetControlbar(
  141. /* [in] */ LPCONTROLBAR pControlbar);
  142. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ControlbarNotify(
  143. /* [in] */ MMC_NOTIFY_TYPE event,
  144. /* [in] */ LPARAM arg,
  145. /* [in] */ LPARAM param);
  146. END_INTERFACE_PART(ExtendControlbar)
  147. };
  148. /////////////////////////////////////////////////////////////////////////////
  149. //{{AFX_INSERT_LOCATION}}
  150. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  151. #endif // !defined(AFX_RESULTSPANE_H__7D4A685C_9056_11D2_BD45_0000F87A3912__INCLUDED_)