// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved #if !defined(AFX_DlgHelpBox_H__D2CE6B12_36C4_11D2_854F_00C04FD7BB08__INCLUDED_) #define AFX_DlgHelpBox_H__D2CE6B12_36C4_11D2_854F_00C04FD7BB08__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // DlgHelpBox.h : header file // class CRichEditCtrl; class CWBEMViewContainerCtrl; typedef interface IWbemClassObject IWbemClassObject; ///////////////////////////////////////////////////////////////////////////// // CDlgHelpBox dialog class CSignatureElement { public: CSignatureElement(); CString m_sName; CString m_sDescription; CString m_sCimtype; int m_id; bool m_bIsOutParameter; bool m_bIsInParameter; }; class CSignatureArray { public: ~CSignatureArray(); SCODE AddParameter(IWbemClassObject* pco, LPCTSTR pszName); CSignatureElement& operator[](int iElement); CSignatureElement& RetVal() {return m_seRetValue; } int GetSize() { return (int) m_array.GetSize(); } private: CPtrArray m_array; CSignatureElement m_seRetValue; }; class CDlgHelpBox : public CDialog { // Construction public: CDlgHelpBox(CWnd* pParent = NULL); // standard constructor void ShowHelpForClass(CWBEMViewContainerCtrl* phmmv, LPCTSTR pszClassPath); // Dialog Data //{{AFX_DATA(CDlgHelpBox) enum { IDD = IDD_DLG_HELP }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDlgHelpBox) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CDlgHelpBox) virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnMove(int x, int y); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: SCODE DisplayMethod(LPCTSTR pszMethodName, IWbemClassObject* pco, IWbemClassObject* pcoInSignature, IWbemClassObject* pcoOutSignature); void DisplaySignature(LPCTSTR pszMethodName, CSignatureArray& params); void DisplayMethodParameters(CSignatureArray& params); SCODE GetObjectDescription(IWbemClassObject* pco, COleVariant& varDescription); int AddSignature(IWbemClassObject* pcoInSignature, IWbemClassObject* pcoOutSignature); void MergeSignatures(CSignatureArray& params, IWbemClassObject* pcoInSignature, IWbemClassObject* pcoOutSignature); int AddMethodDescriptions(IWbemClassObject* pco); void AddHelpText(LPCTSTR pszText, DWORD dwEffects = 0, int nIndent = 0); CRichEditCtrl* m_pedit; int LoadDescriptionText(IWbemClassObject* pco); void AddHelpItem(BSTR bstrName, BSTR bstrText, int nIndent=0); void AddHelpItem2(BSTR bstrKind, BSTR bstrName, BSTR bstrText, int nIndent =0); void ExpandParagraphMarkers(CString& sText); void SetDescriptionMissingMessage(); CString m_sPath; CWBEMViewContainerCtrl* m_phmmv; CRect m_rcWindowSave; BOOL m_bCaptureWindowRect; }; //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_DlgHelpBox_H__D2CE6B12_36C4_11D2_854F_00C04FD7BB08__INCLUDED_)