/*++ Copyright (C) 1997-2001 Microsoft Corporation Module Name: Abstract: History: --*/ // OpView.h : interface of the COpView class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_OPVIEW_H__4419F1AE_692B_11D3_BD30_0080C8E60955__INCLUDED_) #define AFX_OPVIEW_H__4419F1AE_692B_11D3_BD30_0080C8E60955__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "OpWrap.h" #define WM_OBJ_INDICATE (WM_USER + 101) #define WM_OP_STATUS (WM_USER + 102) class CWMITestDoc; class COpView : public CTreeView { protected: // create from serialization only COpView(); DECLARE_DYNCREATE(COpView) // Attributes public: CWMITestDoc* GetDocument(); CTreeCtrl *m_pTree; HTREEITEM m_hitemRoot; // Operations public: void AddOpItem(WMI_OP_TYPE type, LPCTSTR szText, BOOL bOption = FALSE); void AddOpItem(COpWrap *pWrap); void AddOpItemChild( CObjInfo* pInfo, HTREEITEM hParent, int iImage, LPCTSTR szText); void RefreshItem(HTREEITEM hitem); void RefreshItem(COpWrap *pWrap); void RefreshItems(); void RefreshObject(CObjInfo *pInfo); void FlushItems(); void RemoveItemFromTree(HTREEITEM item, BOOL bNoWMIRemove); void UpdateRootText(); BOOL IsRoot(HTREEITEM hitem) { return hitem == m_hitemRoot; } BOOL IsOp(HTREEITEM hitem) { return IsRoot(m_pTree->GetParentItem(hitem)); } BOOL IsObj(HTREEITEM hitem); BOOL IsObjDeleteable(HTREEITEM hitem); void RemoveChildrenFromTree(HTREEITEM item, BOOL bDoRemove); COpWrap *GetCurrentOp(); CObjInfo *GetCurrentObj(); void DoContextMenuForItem(HTREEITEM hItem); int GetOpCount(); CObjInfo *GetObjInfo(HTREEITEM hItem); void UpdateCurrentObject(BOOL bReloadProps = FALSE); void UpdateItem(HTREEITEM hitem); void UpdateCurrentItem(); void UpdateStatusText(); BOOL GetSelectedObjPath(CString &strPath); BOOL GetSelectedClass(CString &strClass); void DoPopupMenu(UINT nMenuID); void UpdateObject(CObjInfo *pInfo); void EditObj(CObjInfo *pInfo); void ExportItemToFile(LPCTSTR szFilename, HTREEITEM hitem, BOOL bShowSystem, BOOL bTranslate); //void SerializeForClipboard(CArchive &arcNative, CArchive &arcText, // CLIPFORMAT *pFormat); //void SerializeTreeItem(HTREEITEM item, CArchive &arcNative, CArchive &arcText); void DoCopy(COpList &list); void BuildSelectedOpList(COpList &list); BOOL CanCopy(); static DWORD WINAPI CopyThreadProc(COpView *pThis); void DoThreadedCopy(); void CopyToClipboard(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(COpView) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual void OnInitialUpdate(); // called first time after construct //}}AFX_VIRTUAL // Implementation public: virtual ~COpView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: int GetChildCount(HTREEITEM hitem); // Generated message map functions protected: void RemoveNonOpObjectFromTree(HTREEITEM item); void ExportItem(CStdioFile *pFile, HTREEITEM item, BOOL bShowSystem, BOOL bTranslate); //{{AFX_MSG(COpView) afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnDblclk(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnDelete(); afx_msg void OnUpdateDelete(CCmdUI* pCmdUI); afx_msg void OnModify(); afx_msg void OnUpdateModify(CCmdUI* pCmdUI); afx_msg void OnEditCopy(); afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI); //}}AFX_MSG DECLARE_MESSAGE_MAP() afx_msg LRESULT OnObjIndicate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnOpStatus(WPARAM wParam, LPARAM lParam); }; extern COpView *g_pOpView; #ifndef _DEBUG // debug version in OpView.cpp inline CWMITestDoc* COpView::GetDocument() { return (CWMITestDoc*)m_pDocument; } #endif ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_OPVIEW_H__4419F1AE_692B_11D3_BD30_0080C8E60955__INCLUDED_)