2025-04-27 07:49:33 -04:00

94 lines
2.5 KiB
C++

// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
#ifndef _PolyView_h
#define _PolyView_h
enum {VIEW_DEFAULT=0, VIEW_CURRENT=1, VIEW_FIRST=2, VIEW_LAST=3};
enum {OBJECT_CURRENT=0, OBJECT_FIRST=1, OBJECT_LAST=2};
class CMultiView;
class CSingleView;
class CWBEMViewContainerCtrl;
class CPolyView
{
public:
CPolyView(CWBEMViewContainerCtrl* phmmv);
~CPolyView();
CWnd* SetFocus();
BOOL Create(CRect& rcView);
BOOL DidCreateWindow() {return m_bDidCreateWindow; }
void SetPropertyFilters(long lPropFilters);
BOOL RedrawWindow( LPCRECT lpRectUpdate = NULL, CRgn* prgnUpdate = NULL, UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE );
void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );
void UpdateWindow( );
void SetFont(CFont& font);
CSingleView* GetSingleView() {return m_psv; }
CMultiView* GetMultiView() {return m_pmv; }
BOOL IsShowingMultiview();
BOOL IsShowingSingleview();
void ShowMultiView();
void ShowSingleView();
void SetNamespace(LPCTSTR pszNamespace);
SCODE RefreshView();
SCODE GetSelectedObject(CString& sPath);
SCODE SelectObjectByPath(LPCTSTR szObjectPath);
SCODE SelectObjectByPath(BSTR bstrObjectPath);
void SetEditMode(BOOL bInStudioMode);
void NotifyWillShow();
//void NotifyDidShow();
//void NotifyWillHide();
//void NotifyDidHide();
SCODE CreateInstance();
SCODE DeleteInstance();
void NotifyInstanceCreated(LPCTSTR szObjectPath);
void NotifyInstanceDeleted(LPCTSTR szObjectPath);
BOOL QueryCanCreateInstance();
BOOL QueryCanDeleteInstance();
BOOL QueryNeedsSave();
//void NotifyDidCreate();
//void NotifyWillDestroy();
BOOL QueryObjectSelected();
CString GetObjectPath(long lPosition);
long StartViewEnumeration(long lWhere);
SCODE GetTitle(BSTR* pszTitle, LPDISPATCH* lpPictureDisp);
CString GetViewTitle(long lPosition);
long NextViewTitle(long lPositon, BSTR* pbstrTitle);
long PrevViewTitle(long lPosition, BSTR* pbstrTitle);
SCODE SelectView(long lPosition);
long StartObjectEnumeration(long lWhere);
CString GetObjectTitle(long lPos);
SCODE SaveData();
void SetStudioModeEnabled(BOOL bInStudioMode);
private:
BOOL m_bShowSingleView;
CMultiView* m_pmv;
CSingleView* m_psv;
CWBEMViewContainerCtrl* m_phmmv;
BSTR bstrTitle;
LPDISPATCH m_lpPictureDisp;
BOOL m_bDidCreateWindow;
BOOL m_bDelaySvContextRestore;
long m_lContextHandleSvDelayed;
friend class CViewStack;
BOOL m_bInStudioMode;
};
#endif //_PolyView_h