/*--------------------------------------------------------------------------* * * Microsoft Windows * Copyright (C) Microsoft Corporation, 1999 - 1999 * * File: toolbars.h * * Contents: Defines the (non-COM) interface classes that are used for * communication between conui and nodemgr * * History: 30-Aug-99 AnandhaG Created * *--------------------------------------------------------------------------*/ #ifndef TOOLBARS_H #define TOOLBARS_H #pragma once //+------------------------------------------------------------------- // // class: CMenuButtonNotify // // Purpose: Menubutton click notification hanlder interface. // When the user clicks a menubutton, MMC calls the // method ScNotifyMenuBtnClick of this interface. // This is implemented by whoever adds a menubutton. // (ie: snapins & MMC menus). // // History: 30-Aug-1999 AnandhaG Created // //-------------------------------------------------------------------- class CMenuButtonNotify { public: virtual SC ScNotifyMenuBtnClick(HNODE hNode, bool bScope, LPARAM lParam, MENUBUTTONDATA& menuButtonData) = 0; }; //+------------------------------------------------------------------- // // class: CMenuButtonsMgr // // Purpose: An interface to manipulate MenuButton UI. // // History: 30-Aug-1999 AnandhaG Created // //-------------------------------------------------------------------- class CMenuButtonsMgr { public: virtual SC ScAddMenuButton(CMenuButtonNotify* pMenuBtnNotifyClbk, INT idCommand, LPCOLESTR lpButtonText, LPCOLESTR lpStatusText) = 0; virtual SC ScModifyMenuButton(CMenuButtonNotify* pMenuBtnNotifyClbk, INT idCommand, LPCOLESTR lpButtonText, LPCOLESTR lpStatusText) = 0; virtual SC ScModifyMenuButtonState(CMenuButtonNotify* pMenuBtnNotifyClbk, INT idCommand, MMC_BUTTON_STATE nState, BOOL bState) = 0; virtual SC ScAttachMenuButton(CMenuButtonNotify* pMenuBtnNotifyClbk) = 0; virtual SC ScDetachMenuButton(CMenuButtonNotify* pMenuBtnNotifyClbk) = 0; virtual SC ScDisableMenuButtons() = 0; // The following members will be part of CMenuButtonsMgrImpl // after "Customize View" dialog is moved to Conui virtual SC ScToggleMenuButton(BOOL bShow) = 0; }; //+------------------------------------------------------------------- // // class: CToolbarNotify // // Purpose: Toolbutton click notification hanlder interface. // When the user clicks a toolbutton, MMC calls the // method ScNotifyToolBarClick of this interface. // This is implemented by whoever adds a toolbar. // (ie: snapins & MMC stdbar). // // History: 12-Oct-1999 AnandhaG Created // //-------------------------------------------------------------------- class CToolbarNotify { public: virtual SC ScNotifyToolBarClick(HNODE hNode, bool bScope, LPARAM lParam, UINT nID) = 0; virtual SC ScAMCViewToolbarsBeingDestroyed() = 0; }; //+------------------------------------------------------------------- // // class: CStdVerbButtons // // Purpose: An interface used by nodemgr to manipulate std-verb buttons. // // History: 26-Oct-1999 AnandhaG Created // //-------------------------------------------------------------------- class CStdVerbButtons { public: virtual SC ScUpdateStdbarVerbs(IConsoleVerb* pCV) = 0; virtual SC ScUpdateStdbarVerb (MMC_CONSOLE_VERB cVerb, IConsoleVerb* pCV = NULL) = 0; virtual SC ScUpdateStdbarVerb (MMC_CONSOLE_VERB cVerb, BYTE byState, BOOL bFlag) = 0; virtual SC ScShow(BOOL bShow) = 0; }; //+------------------------------------------------------------------- // // class: CMMCToolbarIntf // // Purpose: An interface to manipulate Toolbar UI. // // History: 05-Dec-1999 AnandhaG Created // //-------------------------------------------------------------------- class CMMCToolbarIntf { public: virtual SC ScAddButtons(CToolbarNotify* pNotifyCallbk, int nButtons, LPMMCBUTTON lpButtons) = 0; virtual SC ScAddBitmap (CToolbarNotify* pNotifyCallbk, INT nImages, HBITMAP hbmp, COLORREF crMask) = 0; virtual SC ScInsertButton(CToolbarNotify* pNotifyCallbk, int nIndex, LPMMCBUTTON lpButton) = 0; virtual SC ScDeleteButton(CToolbarNotify* pNotifyCallbk, int nIndex) = 0; virtual SC ScGetButtonState(CToolbarNotify* pNotifyCallbk, int idCommand, BYTE nState, BOOL* pbState) = 0; virtual SC ScSetButtonState(CToolbarNotify* pNotifyCallbk, int idCommand, BYTE nState, BOOL bState) = 0; virtual SC ScAttach(CToolbarNotify* pNotifyCallbk) = 0; virtual SC ScDetach(CToolbarNotify* pNotifyCallbk) = 0; virtual SC ScDelete(CToolbarNotify* pNotifyCallbk) = 0; virtual SC ScShow(CToolbarNotify* pNotifyCallbk, BOOL bShow) = 0; }; //+------------------------------------------------------------------- // // class: CAMCViewToolbarsMgr // // Purpose: An interface to create/disable Toolbar. (Rename this // to CToolbarsMgr once old one is removed). // // History: 05-Dec-1999 AnandhaG Created // //-------------------------------------------------------------------- class CAMCViewToolbarsMgr { public: virtual SC ScCreateToolBar(CMMCToolbarIntf** ppToolbarIntf) = 0; virtual SC ScDisableToolbars() = 0; }; #endif /* TOOLBARS_H */