windows-nt/Source/XPSP1/NT/admin/activec/nodemgr/viewdata.h
2020-09-26 16:20:57 +08:00

254 lines
6.3 KiB
C++

//____________________________________________________________________________
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: viewdata.h
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 5/18/1997 RaviR Created
//____________________________________________________________________________
//
#ifndef _MMC_VIEWDATA_H_
#define _MMC_VIEWDATA_H_
class CNode;
class CColumnSetData;
class CColumnInfoList;
class CColumnSortInfo;
class CComponent;
// Note: CViewData should have no data of its own!
class CViewData : public SViewData
{
public:
void ToggleToolbar(long lMenuID);
void ShowStdButtons(bool b);
void ShowSnapinButtons(bool b);
void UpdateToolbars(DWORD dwToolbars);
SC ScUpdateStdbarVerbs();
SC ScUpdateStdbarVerb (MMC_CONSOLE_VERB cVerb);
SC ScUpdateStdbarVerb (MMC_CONSOLE_VERB cVerb, BYTE byState, BOOL bFlag);
SC ScIsVerbSetContextForMultiSelect(bool& bMultiSelection);
SC ScGetVerbSetData(IDataObject **ppDataObject, CComponent **ppComponent,
bool& bScope, bool& bSelected
#ifdef DBG
, LPCTSTR *ppszNodeName
#endif
);
// member access methods
public:
IScopeTree* GetScopeTree() const
{
ASSERT(m_pConsoleData != NULL);
ASSERT(m_pConsoleData->m_spScopeTree != NULL);
return m_pConsoleData ? m_pConsoleData->m_spScopeTree : NULL;
}
INodeCallback * GetNodeCallback() const
{
return m_spNodeCallback;
}
int GetViewID() const
{
return m_nViewID;
}
IFramePrivate* GetNodeManager() const
{
ASSERT(m_spNodeManager != NULL);
return m_spNodeManager;
}
IResultDataPrivate* GetResultData() const
{
ASSERT(m_spResultData != NULL);
return m_spResultData;
}
IImageListPrivate* GetRsltImageList() const
{
ASSERT(m_spRsltImageList != NULL);
return m_spRsltImageList;
}
IConsoleVerb* GetVerbSet() const
{
ASSERT(m_spVerbSet != NULL);
return m_spVerbSet;
}
HWND GetMainFrame() const
{
return m_pConsoleData ? m_pConsoleData->m_hwndMainFrame : NULL;
}
CConsoleFrame* GetConsoleFrame() const
{
return m_pConsoleData ? m_pConsoleData->GetConsoleFrame() : NULL;
}
HWND GetView() const
{
return m_hwndView;
}
HWND GetListCtrl() const
{
return m_hwndListCtrl;
}
HWND GetChildFrame() const
{
return m_hwndChildFrame;
}
// the various view options
DWORD GetListOptions() const {return m_rvt.GetListOptions();}
DWORD GetHTMLOptions() const {return m_rvt.GetHTMLOptions();}
DWORD GetOCXOptions() const {return m_rvt.GetOCXOptions();}
DWORD GetMiscOptions() const {return m_rvt.GetMiscOptions();}
long GetWindowOptions() const
{
return m_lWindowOptions;
}
IControlbarsCache* GetControlbarsCache()
{
if (m_spControlbarsCache == NULL)
CreateControlbarsCache();
ASSERT(m_spControlbarsCache != NULL);
return m_spControlbarsCache;
}
CMultiSelection* GetMultiSelection() const
{
return m_pMultiSelection;
}
void SetMultiSelection(CMultiSelection* pMultiSelection)
{
m_pMultiSelection = pMultiSelection;
}
bool IsStatusBarVisible(void) const
{
return ((m_dwToolbarsDisplayed & STATUS_BAR) != 0);
}
bool IsAuthorMode() const
{
ASSERT(m_pConsoleData != NULL);
return ((m_pConsoleData) ? (m_pConsoleData->GetMode() == eMode_Author) : true);
}
bool IsUserMode() const
{
return (!IsAuthorMode());
}
// Needed for "New Window From Here" menu item.
bool IsUser_SDIMode() const
{
return ((m_pConsoleData) ? (m_pConsoleData->GetMode() == eMode_User_SDI) : true);
}
bool AllowViewCustomization(void) const
{
ASSERT(m_pConsoleData != NULL);
if (IsUserMode())
return (!(m_pConsoleData->m_dwFlags & eFlag_PreventViewCustomization));
return true;
}
DWORD GetToolbarsDisplayed(void) const
{
return (ToolbarsOf (m_dwToolbarsDisplayed));
}
void SetToolbarsDisplayed(DWORD dwToolbars)
{
m_dwToolbarsDisplayed = StatusBarOf (m_dwToolbarsDisplayed) |
ToolbarsOf (dwToolbars);
}
bool IsColumnPersistObjectInitialized()
{
if ( (NULL != m_pConsoleData) &&
(NULL != m_pConsoleData->m_spPersistStreamColumnData) &&
(NULL != m_pConsoleData->m_pXMLPersistColumnData) )
return true;
return false;
}
void InitializeColumnPersistObject(IPersistStream* pPersistStreamColumnData, CXMLObject* pPersistXMLColumnData)
{
ASSERT(m_pConsoleData != NULL);
if ( (NULL != m_pConsoleData ) &&
(NULL == m_pConsoleData->m_spPersistStreamColumnData) )
{
m_pConsoleData->m_spPersistStreamColumnData = pPersistStreamColumnData;
// NOTE!! the pointer below relies on reference held by m_spPersistStreamColumnData
m_pConsoleData->m_pXMLPersistColumnData = pPersistXMLColumnData;
ASSERT(pPersistXMLColumnData != NULL);
}
}
void SetSnapinChangingView()
{
m_bSnapinChangingView = TRUE;
}
void ResetSnapinChangingView()
{
m_bSnapinChangingView = FALSE;
}
BOOL IsSnapinChangingView()
{
return m_bSnapinChangingView;
}
public:
BOOL RetrieveColumnData( const CLSID& refSnapinCLSID, const SColumnSetID& colID,
CColumnSetData& columnSetData);
BOOL SaveColumnData( const CLSID& refSnapinCLSID, const SColumnSetID& colID,
CColumnSetData& columnSetData);
SC ScSaveColumnInfoList(const CLSID& refSnapinCLSID, const SColumnSetID& colID, const CColumnInfoList& colInfoList);
SC ScSaveColumnSortData(const CLSID& refSnapinCLSID, const SColumnSetID& colID, const CColumnSortInfo& colSortInfo);
VOID DeleteColumnData( const CLSID& refSnapinCLSID, const SColumnSetID& colID);
CNode* GetSelectedNode () const;
private:
void CreateControlbarsCache();
void ShowMenuBar();
}; // class CViewData
#endif // _MMC_VIEWDATA_H_