124 lines
3.7 KiB
C++
124 lines
3.7 KiB
C++
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
|
|
#if !defined(AFX_BROWSEFORINSTANCES_H__9F7CEA71_CAF9_11D0_963D_00C04FD9B15B__INCLUDED_)
|
|
#define AFX_BROWSEFORINSTANCES_H__9F7CEA71_CAF9_11D0_963D_00C04FD9B15B__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
// BrowseforInstances.h : header file
|
|
//
|
|
class CAvailClasses;
|
|
class CResults;
|
|
class CNavigatorCtrl;
|
|
|
|
#define ID_SETTREEROOT WM_USER + 24
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CBrowseforInstances dialog
|
|
|
|
class CBrowseforInstances : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CBrowseforInstances(CWnd* pParent = NULL); // standard constructor
|
|
void SetServices(IWbemServices *pServices)
|
|
{m_pServices = pServices;}
|
|
CSortedCStringArray &GetCurrentAvailClasses();
|
|
CByteArray &GetCurrentNonInstClasses();
|
|
BOOL HasNonInstClasses();
|
|
void SetTMFont(TEXTMETRIC *ptmFont)
|
|
{m_tmFont = *ptmFont;}
|
|
void SetParent(CNavigatorCtrl *pParent)
|
|
{m_pParent = pParent;}
|
|
enum {TreeRoot, InitialObject};
|
|
void SetMode(int nMode) {m_nMode = nMode;}
|
|
// Dialog Data
|
|
//{{AFX_DATA(CBrowseforInstances)
|
|
enum { IDD = IDD_DIALOGBROWSEFORINSTANCES };
|
|
CStatic m_cstaticBrowse;
|
|
CButton m_cbAssoc;
|
|
CButton m_cbRemove;
|
|
CButton m_cbAdd;
|
|
CButton m_cbOK;
|
|
//}}AFX_DATA
|
|
|
|
|
|
CAvailClassEdit m_ceditClass;
|
|
CAvailClasses m_clbAllClasses;
|
|
CSelectedClasses m_clbSelClasses;
|
|
|
|
void SetNewRoot(IWbemClassObject *pObject);
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CBrowseforInstances)
|
|
public:
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
IWbemServices *m_pServices;
|
|
CNavigatorCtrl *m_pParent;
|
|
void GetClassArray
|
|
(CSortedCStringArray &rcsaOut, CString *pcsParent = NULL, BOOL bDeep = TRUE,
|
|
BOOL bOnlyCanHaveInstances = TRUE, BOOL bSystemClasses = FALSE,
|
|
BOOL bAssoc = FALSE);
|
|
void OnOKReally();
|
|
void OnCancelReally();
|
|
void UpdateUI();
|
|
BOOL m_bEscSeen;
|
|
BOOL IsClassAvailable(CString &rcsClass);
|
|
CSortedCStringArray m_csaAllClasses;
|
|
CSortedCStringArray m_csaInstClasses;
|
|
CSortedCStringArray m_csaAllPlusAssocClasses;
|
|
CSortedCStringArray m_csaInstPlusAssocClasses;
|
|
CStringArray m_csaSelectedClasses;
|
|
CByteArray m_cbaAllClasses;
|
|
CByteArray m_cbaAllPlusAssocClasses;
|
|
BOOL m_bShowAll;
|
|
BOOL m_bShowAssoc;
|
|
TEXTMETRIC m_tmFont;
|
|
CPictureHolder *m_pcphImage;
|
|
int m_nBitmapH;
|
|
int m_nBitmapW;
|
|
|
|
int m_nMode;
|
|
|
|
CString m_csSelectedInstancePath;
|
|
void ClearSelectedSelection();
|
|
void ClearAvailSelection();
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CBrowseforInstances)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnRadioallclasses();
|
|
afx_msg void OnRadioclassescanhaveinst();
|
|
afx_msg void OnCheckassoc();
|
|
afx_msg void OnChangeEDITClass();
|
|
afx_msg void OnButtonadd();
|
|
afx_msg void OnButtonremove();
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
virtual void OnCancel();
|
|
virtual void OnOK();
|
|
afx_msg void OnPaint();
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
//}}AFX_MSG
|
|
afx_msg LRESULT UpdateAvailClass(WPARAM, LPARAM);
|
|
DECLARE_MESSAGE_MAP()
|
|
friend class CAvailClasses;
|
|
friend class CAvailClassEdit;
|
|
friend class CSelectedClasses;
|
|
friend class CResults;
|
|
friend class CNavigatorCtrl;
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_BROWSEFORINSTANCES_H__9F7CEA71_CAF9_11D0_963D_00C04FD9B15B__INCLUDED_)
|