ReactOS 0.4.17-dev-1190-g4c812f4
CInternetToolbar Class Reference

#include <internettoolbar.h>

Inheritance diagram for CInternetToolbar:
Collaboration diagram for CInternetToolbar:

Public Member Functions

 CInternetToolbar ()
 
virtual ~CInternetToolbar ()
 
void AddDockItem (IUnknown *newItem, int bandID, int flags)
 
HRESULT EnumBands (UINT Index, int *pBandId, IUnknown **ppUnkBand)
 
HRESULT QIBand (int BandID, REFIID riid, void **ppv)
 
HRESULT ReserveBorderSpace (LONG maxHeight=-1)
 
HRESULT CreateMenuBar (IShellMenu **menuBar)
 
HRESULT CreateToolsBar (IUnknown **toolsBar)
 
HRESULT LockUnlockToolbars (bool locked)
 
HRESULT CommandStateChanged (bool newValue, int commandID)
 
HRESULT CreateAndInitBandProxy ()
 
HRESULT IsBandVisible (int BandID)
 
HRESULT SetBandVisibility (int BandID, int Show)
 
HRESULT ToggleBandVisibility (int BandID)
 
HRESULT SetState (const GUID *pguidCmdGroup, long commandID, OLECMD *pcmd)
 
void RefreshLockedToolbarState ()
 
HRESULT SetDirty ()
 
STDMETHOD() UIActivateIO (BOOL fActivate, LPMSG lpMsg) override
 
STDMETHOD() HasFocusIO () override
 
STDMETHOD() TranslateAcceleratorIO (LPMSG lpMsg) override
 
STDMETHOD() GetWindow (HWND *lphwnd) override
 
STDMETHOD() ContextSensitiveHelp (BOOL fEnterMode) override
 
STDMETHOD() ShowDW (BOOL fShow) override
 
STDMETHOD() CloseDW (DWORD dwReserved) override
 
STDMETHOD() ResizeBorderDW (LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override
 
STDMETHOD() GetClassID (CLSID *pClassID) override
 
STDMETHOD() IsDirty () override
 
STDMETHOD() Load (IStream *pStm) override
 
STDMETHOD() Save (IStream *pStm, BOOL fClearDirty) override
 
STDMETHOD() GetSizeMax (ULARGE_INTEGER *pcbSize) override
 
STDMETHOD() InitNew () override
 
STDMETHOD() QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
 
STDMETHOD() Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo) override
 
STDMETHOD() GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
 
STDMETHOD() GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
 
STDMETHOD() Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
 
STDMETHOD() SetCommandTarget (IUnknown *theTarget, GUID *category, long param14) override
 
STDMETHOD() Unknown1 () override
 
STDMETHOD() AddButtons (const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons) override
 
STDMETHOD() AddString (const GUID *pguidCmdGroup, HINSTANCE param10, LPCTSTR param14, long *param18) override
 
STDMETHOD() GetButton (const GUID *pguidCmdGroup, long param10, long param14) override
 
STDMETHOD() GetState (const GUID *pguidCmdGroup, long commandID, long *theState) override
 
STDMETHOD() SetState (const GUID *pguidCmdGroup, long commandID, long theState) override
 
STDMETHOD() AddBitmap (const GUID *pguidCmdGroup, long param10, long buttonCount, TBADDBITMAP *lParam, long *newIndex, COLORREF param20) override
 
STDMETHOD() GetBitmapSize (long *paramC) override
 
STDMETHOD() SendToolbarMsg (const GUID *pguidCmdGroup, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *result) override
 
STDMETHOD() SetImageList (const GUID *pguidCmdGroup, HIMAGELIST param10, HIMAGELIST param14, HIMAGELIST param18) override
 
STDMETHOD() ModifyButton (const GUID *pguidCmdGroup, long param10, long param14) override
 
STDMETHOD() OnChange (LONG lEvent, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) override
 
STDMETHOD() SetSite (IUnknown *pUnkSite) override
 
STDMETHOD() GetSite (REFIID riid, void **ppvSite) override
 
STDMETHOD() QueryService (REFGUID guidService, REFIID riid, void **ppvObject) override
 
STDMETHOD() OnWinEvent (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) override
 
STDMETHOD() IsWindowOwner (HWND hWnd) override
 
STDMETHOD() AddBand (IUnknown *punk) override
 
STDMETHOD() EnumBands (UINT uBand, DWORD *pdwBandID) override
 
STDMETHOD() QueryBand (DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName) override
 
STDMETHOD() SetBandState (DWORD dwBandID, DWORD dwMask, DWORD dwState) override
 
STDMETHOD() RemoveBand (DWORD dwBandID) override
 
STDMETHOD() GetBandObject (DWORD dwBandID, REFIID riid, void **ppv) override
 
STDMETHOD() SetBandSiteInfo (const BANDSITEINFO *pbsinfo) override
 
STDMETHOD() GetBandSiteInfo (BANDSITEINFO *pbsinfo) override
 
LRESULT OnTravelBack (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnTravelForward (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnUpLevel (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnSearch (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnFolders (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnForwardToCommandTarget (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnMenuDropDown (UINT idControl, NMHDR *pNMHDR, BOOL &bHandled)
 
LRESULT OnQueryInsert (UINT idControl, NMHDR *pNMHDR, BOOL &bHandled)
 
LRESULT OnQueryDelete (UINT idControl, NMHDR *pNMHDR, BOOL &bHandled)
 
LRESULT OnNavigateCommand (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnContextMenu (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSize (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSetCursor (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnTipText (UINT idControl, NMHDR *pNMHDR, BOOL &bHandled)
 
LRESULT OnCommand (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnNotify (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnLDown (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnLUp (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnMouseMove (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnWinIniChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSettingsChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
HRESULT ShowDW ([in] BOOL fShow)
 
HRESULT CloseDW ([in] DWORD dwReserved)
 
HRESULT ResizeBorderDW ([in] LPCRECT prcBorder, [in] IUnknown *punkToolbarSite, [in] BOOL fReserved)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IPersistStreamInit
HRESULT IsDirty ()
 
HRESULT Load ([in] LPSTREAM pStm)
 
HRESULT Save ([in] LPSTREAM pStm, [in] BOOL fClearDirty)
 
HRESULT GetSizeMax ([out] ULARGE_INTEGER *pcbSize)
 
HRESULT InitNew ()
 
HRESULT GetClassID ([out] CLSID *pClassID)
 
HRESULT QueryStatus ([in, unique] const GUID *pguidCmdGroup, [in] ULONG cCmds, [in, out, size_is(cCmds)] OLECMD prgCmds[], [in, out, unique] OLECMDTEXT *pCmdText)
 
HRESULT Exec ([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
 
- Public Member Functions inherited from IDispatch
HRESULT GetTypeInfoCount ([out] UINT *pctinfo)
 
HRESULT GetTypeInfo ([in] UINT iTInfo, [in] LCID lcid, [out] ITypeInfo **ppTInfo)
 
HRESULT GetIDsOfNames ([in] REFIID riid, [in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID *rgDispId)
 
HRESULT Invoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr)
 
HRESULT RemoteInvoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *pArgErr, [in] UINT cVarRef, [in, size_is(cVarRef)] UINT *rgVarRefIdx, [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef)
 
- Public Member Functions inherited from IShellChangeNotify
HRESULT OnChange ([in] LONG lEvent, [in] PCIDLIST_ABSOLUTE pidl1, [in] PCIDLIST_ABSOLUTE pidl2)
 
- Public Member Functions inherited from IObjectWithSite
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 
- Public Member Functions inherited from IServiceProvider
HRESULT QueryService ([in] REFGUID guidService, [in] REFIID riid, [out] void **ppvObject)
 
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 
HRESULT AddBand ([in] IUnknown *punk)
 
HRESULT EnumBands ([in] UINT uBand, [out] DWORD *pdwBandID)
 
HRESULT QueryBand ([in] DWORD dwBandID, [out] IDeskBand **ppstb, [out] DWORD *pdwState, [out, string, size_is(cchName)] LPWSTR pszName, [in] int cchName)
 
HRESULT SetBandState ([in] DWORD dwBandID, [in] DWORD dwMask, [in] DWORD dwState)
 
HRESULT RemoveBand ([in] DWORD dwBandID)
 
HRESULT GetBandObject ([in] DWORD dwBandID, [in] REFIID riid, [out, iid_is(riid)] void **ppv)
 
HRESULT SetBandSiteInfo ([in] const BANDSITEINFO *pbsinfo)
 
HRESULT GetBandSiteInfo ([in, out] BANDSITEINFO *pbsinfo)
 

Static Public Member Functions

static HRESULT GetStream (UINT StreamFor, DWORD Stgm, IStream **ppS)
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRY * GetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 

Public Attributes

CComPtr< IUnknown > fSite
 
HWND fMainReBar
 
bool fLocked
 
CComPtr< IShellMenu > fMenuBar
 
HWND fMenuBandWindow
 
HWND fNavigationWindow
 
CComPtr< IUnknown > fLogoBar
 
CComPtr< IUnknown > fControlsBar
 
CComPtr< IUnknown > fNavigationBar
 
CComPtr< CMenuCallback > fMenuCallback
 
CComPtr< IOleCommandTarget > fCommandTarget
 
GUID fCommandCategory
 
HWND fToolbarWindow
 
DWORD fAdviseCookie
 
CComPtr< IBandProxy > fBandProxy
 
BOOL fSizing
 
POINT fStartPosition
 
LONG fStartHeight
 
ShellSettings * pSettings
 
BOOL fIgnoreChanges
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 
- Public Attributes inherited from IDispatch
const DISPID DISPID_UNKNOWN = -1
 
const DISPID DISPID_VALUE = 0
 
const DISPID DISPID_PROPERTYPUT = -3
 
const DISPID DISPID_NEWENUM = -4
 
const DISPID DISPID_EVALUATE = -5
 
const DISPID DISPID_CONSTRUCTOR = -6
 
const DISPID DISPID_DESTRUCTOR = -7
 
const DISPID DISPID_COLLECT = -8
 

Additional Inherited Members

- Public Types inherited from IOleWindow
typedef IOleWindow * LPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknown * LPUNKNOWN
 
- Public Types inherited from IPersistStreamInit
typedef IPersistStreamInit * LPPERSISTSTREAMINIT
 
- Public Types inherited from IPersist
typedef IPersist * LPPERSIST
 
- Public Types inherited from IOleCommandTarget
enum  OLECMDF {
  OLECMDF_SUPPORTED = 0x1 , OLECMDF_ENABLED = 0x2 , OLECMDF_LATCHED = 0x4 , OLECMDF_NINCHED = 0x8 ,
  OLECMDF_INVISIBLE = 0x10 , OLECMDF_DEFHIDEONCTXTMENU = 0x20
}
 
enum  OLECMDTEXTF { OLECMDTEXTF_NONE = 0 , OLECMDTEXTF_NAME = 1 , OLECMDTEXTF_STATUS = 2 }
 
enum  OLECMDEXECOPT { OLECMDEXECOPT_DODEFAULT = 0 , OLECMDEXECOPT_PROMPTUSER = 1 , OLECMDEXECOPT_DONTPROMPTUSER = 2 , OLECMDEXECOPT_SHOWHELP = 3 }
 
enum  OLECMDID {
  OLECMDID_OPEN = 1 , OLECMDID_NEW = 2 , OLECMDID_SAVE = 3 , OLECMDID_SAVEAS = 4 ,
  OLECMDID_SAVECOPYAS = 5 , OLECMDID_PRINT = 6 , OLECMDID_PRINTPREVIEW = 7 , OLECMDID_PAGESETUP = 8 ,
  OLECMDID_SPELL = 9 , OLECMDID_PROPERTIES = 10 , OLECMDID_CUT = 11 , OLECMDID_COPY = 12 ,
  OLECMDID_PASTE = 13 , OLECMDID_PASTESPECIAL = 14 , OLECMDID_UNDO = 15 , OLECMDID_REDO = 16 ,
  OLECMDID_SELECTALL = 17 , OLECMDID_CLEARSELECTION = 18 , OLECMDID_ZOOM = 19 , OLECMDID_GETZOOMRANGE = 20 ,
  OLECMDID_UPDATECOMMANDS = 21 , OLECMDID_REFRESH = 22 , OLECMDID_STOP = 23 , OLECMDID_HIDETOOLBARS = 24 ,
  OLECMDID_SETPROGRESSMAX = 25 , OLECMDID_SETPROGRESSPOS = 26 , OLECMDID_SETPROGRESSTEXT = 27 , OLECMDID_SETTITLE = 28 ,
  OLECMDID_SETDOWNLOADSTATE = 29 , OLECMDID_STOPDOWNLOAD = 30 , OLECMDID_ONTOOLBARACTIVATED = 31 , OLECMDID_FIND = 32 ,
  OLECMDID_DELETE = 33 , OLECMDID_HTTPEQUIV = 34 , OLECMDID_HTTPEQUIV_DONE = 35 , OLECMDID_ENABLE_INTERACTION = 36 ,
  OLECMDID_ONUNLOAD = 37 , OLECMDID_PROPERTYBAG2 = 38 , OLECMDID_PREREFRESH = 39 , OLECMDID_SHOWSCRIPTERROR = 40 ,
  OLECMDID_SHOWMESSAGE = 41 , OLECMDID_SHOWFIND = 42 , OLECMDID_SHOWPAGESETUP = 43 , OLECMDID_SHOWPRINT = 44 ,
  OLECMDID_CLOSE = 45 , OLECMDID_ALLOWUILESSSAVEAS = 46 , OLECMDID_DONTDOWNLOADCSS = 47 , OLECMDID_UPDATEPAGESTATUS = 48 ,
  OLECMDID_PRINT2 = 49 , OLECMDID_PRINTPREVIEW2 = 50 , OLECMDID_SETPRINTTEMPLATE = 51 , OLECMDID_GETPRINTTEMPLATE = 52 ,
  OLECMDID_PAGEACTIONBLOCKED = 55 , OLECMDID_PAGEACTIONUIQUERY = 56 , OLECMDID_FOCUSVIEWCONTROLS = 57 , OLECMDID_FOCUSVIEWCONTROLSQUERY = 58 ,
  OLECMDID_SHOWPAGEACTIONMENU = 59 , OLECMDID_ADDTRAVELENTRY = 60 , OLECMDID_UPDATETRAVELENTRY = 61 , OLECMDID_UPDATEBACKFORWARDSTATE = 62 ,
  OLECMDID_OPTICAL_ZOOM = 63 , OLECMDID_OPTICAL_GETZOOMRANGE = 64 , OLECMDID_WINDOWSTATECHANGED = 65 , OLECMDID_ACTIVEXINSTALLSCOPE = 66 ,
  OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67 , OLECMDID_SHOWTASKDLG = 68 , OLECMDID_POPSTATEEVENT = 69 , OLECMDID_VIEWPORT_MODE = 70 ,
  OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71 , OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72 , OLECMDID_USER_OPTICAL_ZOOM = 73 , OLECMDID_PAGEAVAILABLE = 74 ,
  OLECMDID_GETUSERSCALABLE = 75 , OLECMDID_UPDATE_CARET = 76 , OLECMDID_ENABLE_VISIBILITY = 77 , OLECMDID_MEDIA_PLAYBACK = 78
}
 
typedef IOleCommandTarget * LPOLECOMMANDTARGET
 
typedef enum IOleCommandTarget::OLECMDF OLECMDF
 
typedef struct IOleCommandTarget::_tagOLECMD OLECMD
 
typedef struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
 
typedef enum IOleCommandTarget::OLECMDTEXTF OLECMDTEXTF
 
typedef enum IOleCommandTarget::OLECMDEXECOPT OLECMDEXECOPT
 
typedef enum IOleCommandTarget::OLECMDID OLECMDID
 
- Public Types inherited from IDispatch
typedef IDispatch * LPDISPATCH
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSite * LPOBJECTWITHSITE
 
- Public Types inherited from IServiceProvider
typedef IServiceProvider * LPSERVICEPROVIDER
 

Detailed Description

Definition at line 66 of file internettoolbar.h.

Constructor & Destructor Documentation

◆ CInternetToolbar()

CInternetToolbar::CInternetToolbar ( )

Definition at line 674 of file internettoolbar.cpp.

675{
681 fAdviseCookie = 0;
682 pSettings = NULL;
684}
ShellSettings * pSettings
CComPtr< CMenuCallback > fMenuCallback
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117

◆ ~CInternetToolbar()

CInternetToolbar::~CInternetToolbar ( )
virtual

Definition at line 686 of file internettoolbar.cpp.

687{
688 fMenuCallback->SetSite(NULL);
689}

Member Function Documentation

◆ AddBand()

HRESULT STDMETHODCALLTYPE CInternetToolbar::AddBand ( IUnknown *  punk)
override

Implements IBandSite.

Definition at line 1572 of file internettoolbar.cpp.

1573{
1575 return E_NOTIMPL;
1576}
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ AddBitmap()

HRESULT STDMETHODCALLTYPE CInternetToolbar::AddBitmap ( const GUID *  pguidCmdGroup,
long  param10,
long  buttonCount,
TBADDBITMAP *  lParam,
long *  newIndex,
COLORREF  param20 
)
override

Definition at line 1414 of file internettoolbar.cpp.

1416{
1417 return E_NOTIMPL;
1418}

◆ AddButtons()

HRESULT STDMETHODCALLTYPE CInternetToolbar::AddButtons ( const GUID *  pguidCmdGroup,
long  buttonCount,
TBBUTTON *  buttons 
)
override

Definition at line 1375 of file internettoolbar.cpp.

1376{
1377 return E_NOTIMPL;
1378}

◆ AddDockItem()

void CInternetToolbar::AddDockItem ( IUnknown *  newItem,
int  bandID,
int  flags 
)

Definition at line 691 of file internettoolbar.cpp.

692{
693 CComPtr<CDockSite> newSite;
694
695 newSite = new CComObject<CDockSite>;
696 newSite->Initialize(newItem, this, fMainReBar, bandID, flags);
697}
GLbitfield flags
Definition: glext.h:7161

Referenced by InitNew().

◆ AddString()

HRESULT STDMETHODCALLTYPE CInternetToolbar::AddString ( const GUID *  pguidCmdGroup,
HINSTANCE  param10,
LPCTSTR  param14,
long *  param18 
)
override

Definition at line 1380 of file internettoolbar.cpp.

1382{
1383 long result;
1384
1386 reinterpret_cast<WPARAM>(param10), reinterpret_cast<LPARAM>(param14));
1387 *param18 = result;
1388 if (result == -1)
1389 return E_FAIL;
1390 return S_OK;
1391}
#define E_FAIL
Definition: ddrawi.h:102
GLuint64EXT * result
Definition: glext.h:11304
#define S_OK
Definition: intsafe.h:52
LONG_PTR LPARAM
Definition: minwindef.h:175
UINT_PTR WPARAM
Definition: minwindef.h:174
#define TB_ADDSTRINGW
Definition: commctrl.h:1132
#define SendMessage
Definition: winuser.h:6009
#define long
Definition: qsort.c:33

◆ CloseDW()

HRESULT STDMETHODCALLTYPE CInternetToolbar::CloseDW ( DWORD  dwReserved)
override

Implements IDockingWindow.

Definition at line 1004 of file internettoolbar.cpp.

1005{
1006 HRESULT hResult;
1007
1008 if (fMenuBar)
1009 {
1011 if (FAILED_UNEXPECTEDLY(hResult))
1012 return hResult;
1013 ReleaseCComPtrExpectZero(fMenuBar);
1014 }
1015 if (fControlsBar)
1016 {
1018 if (FAILED_UNEXPECTEDLY(hResult))
1019 return hResult;
1020 ReleaseCComPtrExpectZero(fControlsBar);
1021 }
1022 if (fNavigationBar)
1023 {
1025 if (FAILED_UNEXPECTEDLY(hResult))
1026 return hResult;
1027 ReleaseCComPtrExpectZero(fNavigationBar);
1028 }
1029 if (fLogoBar)
1030 {
1032 if (FAILED_UNEXPECTEDLY(hResult))
1033 return hResult;
1034 ReleaseCComPtrExpectZero(fLogoBar);
1035 }
1036
1037 SetSite(NULL);
1038 return S_OK;
1039}
CComPtr< IUnknown > fNavigationBar
CComPtr< IUnknown > fLogoBar
CComPtr< IUnknown > fControlsBar
STDMETHOD() SetSite(IUnknown *pUnkSite) override
CComPtr< IShellMenu > fMenuBar
#define FAILED_UNEXPECTEDLY
Definition: utils.cpp:33
HRESULT IUnknown_CloseDW(IUnknown *punk, DWORD dwReserved)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95

◆ CommandStateChanged()

HRESULT CInternetToolbar::CommandStateChanged ( bool  newValue,
int  commandID 
)

Definition at line 853 of file internettoolbar.cpp.

854{
855 HRESULT hResult;
856
857 hResult = S_OK;
858 switch (commandID)
859 {
860 case -1:
861 // loop through buttons
862 //for buttons in CLSID_CommonButtons
863 // if up, QueryStatus for up state and update it
864 //
865 //for buttons in fCommandCategory, update with QueryStatus of fCommandTarget
866
867 OLECMD commandList[4];
868 commandList[0].cmdID = 0x1c;
869 commandList[1].cmdID = 0x1d;
870 commandList[2].cmdID = 0x1e;
871 commandList[3].cmdID = 0x23;
872 IUnknown_QueryStatus(fSite, CGID_Explorer, 4, commandList, NULL);
873 SetState(&CLSID_CommonButtons, gSearchCommandID, &commandList[0]);
874 SetState(&CLSID_CommonButtons, gFoldersCommandID, &commandList[3]);
875 //SetState(&CLSID_CommonButtons, gFavoritesCommandID, &commandList[2]);
876 //SetState(&CLSID_CommonButtons, gHistoryCommandID, &commandList[1]);
877
878 break;
879 case 1:
880 // forward
881 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_FORWARD, newValue ? TBSTATE_ENABLED : 0);
882 break;
883 case 2:
884 // back
885 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_BACK, newValue ? TBSTATE_ENABLED : 0);
886 break;
887 case 3:
888 // up
889 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_UPONELEVEL, newValue ? TBSTATE_ENABLED : 0);
890 break;
891 }
892 return hResult;
893}
HRESULT SetState(const GUID *pguidCmdGroup, long commandID, OLECMD *pcmd)
CComPtr< IUnknown > fSite
#define IDM_GOTO_UPONELEVEL
Definition: resource.h:48
#define IDM_GOTO_FORWARD
Definition: resource.h:47
#define IDM_GOTO_BACK
Definition: resource.h:46
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
Definition: ordinal.c:723
struct IOleCommandTarget::_tagOLECMD OLECMD
static const int gFoldersCommandID
static const int gSearchCommandID
#define TBSTATE_ENABLED
Definition: commctrl.h:974

Referenced by Invoke().

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CInternetToolbar::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 973 of file internettoolbar.cpp.

974{
975 return E_NOTIMPL;
976}

◆ CreateAndInitBandProxy()

HRESULT CInternetToolbar::CreateAndInitBandProxy ( )

Definition at line 895 of file internettoolbar.cpp.

896{
897 CComPtr<IServiceProvider> serviceProvider;
898 HRESULT hResult;
899
900 hResult = fSite->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
901 if (FAILED_UNEXPECTEDLY(hResult))
902 return hResult;
903 hResult = serviceProvider->QueryService(SID_IBandProxy, IID_PPV_ARG(IBandProxy, &fBandProxy));
904 if (FAILED_UNEXPECTEDLY(hResult))
905 {
906 hResult = CBandProxy_CreateInstance(IID_PPV_ARG(IBandProxy, &fBandProxy));
907 if (FAILED_UNEXPECTEDLY(hResult))
908 return hResult;
909 hResult = fBandProxy->SetSite(fSite);
910 if (FAILED_UNEXPECTEDLY(hResult))
911 return hResult;
912 }
913 return S_OK;
914}
#define IID_PPV_ARG(Itype, ppType)
HRESULT CBandProxy_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:42
CComPtr< IBandProxy > fBandProxy

Referenced by QueryService().

◆ CreateMenuBar()

HRESULT CInternetToolbar::CreateMenuBar ( IShellMenu **  menuBar)

Definition at line 744 of file internettoolbar.cpp.

745{
746 CComPtr<IShellMenu> menubar;
748 VARIANT menuOut;
749 HWND ownerWindow;
750 HRESULT hResult;
751
752 if (!pMenuBar)
753 return E_POINTER;
754
755 *pMenuBar = NULL;
756
757 hResult = CMenuBand_CreateInstance(IID_PPV_ARG(IShellMenu, &menubar));
758 if (FAILED_UNEXPECTEDLY(hResult))
759 return hResult;
760
761 fMenuCallback->SetSite(static_cast<IObjectWithSite*>(this));
762 hResult = fMenuCallback->QueryInterface(IID_PPV_ARG(IShellMenuCallback, &callback));
763 if (FAILED_UNEXPECTEDLY(hResult))
764 return hResult;
765
766 hResult = menubar->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL);
767 if (FAILED_UNEXPECTEDLY(hResult))
768 return hResult;
769
770 // Set Menu
771 {
772 hResult = IUnknown_Exec(fSite, CGID_Explorer, 0x35, 0, NULL, &menuOut);
773 if (FAILED_UNEXPECTEDLY(hResult))
774 return hResult;
775
776 if (V_VT(&menuOut) != VT_INT_PTR || V_INTREF(&menuOut) == NULL)
777 return E_FAIL;
778
779 hResult = IUnknown_GetWindow(fSite, &ownerWindow);
780 if (FAILED_UNEXPECTEDLY(hResult))
781 return hResult;
782
783 HMENU hMenuBar = (HMENU) V_INTREF(&menuOut);
784
785 // FIXME: Figure out the proper way to do this.
786 HMENU hMenuFavs = GetSubMenu(hMenuBar, 3);
787 if (hMenuFavs)
788 {
790 }
791
792 hResult = menubar->SetMenu(hMenuBar, ownerWindow, SMSET_DONTOWN);
793 if (FAILED_UNEXPECTEDLY(hResult))
794 return hResult;
795 }
796
797 hResult = IUnknown_Exec(menubar, CGID_MenuBand, 3, 1, NULL, NULL);
798 if (FAILED_UNEXPECTEDLY(hResult))
799 return hResult;
800
801 *pMenuBar = menubar.Detach();
802
803 return S_OK;
804}
T * Detach()
Definition: atlcomcli.h:186
#define IDM_FAVORITES_EMPTY
Definition: resource.h:53
@ VT_INT_PTR
Definition: compat.h:2327
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: ordinal.c:762
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:988
static IPrintDialogCallback callback
Definition: printdlg.c:325
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define V_VT(A)
Definition: oleauto.h:211
#define V_INTREF(A)
Definition: oleauto.h:252
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define CMenuBand_CreateInstance
Definition: shellmenu.h:80
#define CGID_MenuBand
#define E_POINTER
Definition: winerror.h:3480

Referenced by InitNew().

◆ CreateToolsBar()

HRESULT CInternetToolbar::CreateToolsBar ( IUnknown **  toolsBar)

◆ EnumBands() [1/2]

HRESULT CInternetToolbar::EnumBands ( UINT  Index,
int *  pBandId,
IUnknown **  ppUnkBand 
)

Definition at line 699 of file internettoolbar.cpp.

700{
701 REBARBANDINFOW rbbi;
702 rbbi.cbSize = sizeof(rbbi);
703 rbbi.fMask = RBBIM_ID | RBBIM_LPARAM;
704 rbbi.cch = 0;
707 *pBandId = rbbi.wID;
708 if (!rbbi.lParam)
709 return E_UNEXPECTED;
710 *ppUnkBand = ((CDockSite*)(rbbi.lParam))->GetContainedBand(); // Not ref. counted
711 return *ppUnkBand ? S_OK : S_FALSE;
712}
#define ERROR_NO_MORE_ITEMS
Definition: compat.h:105
#define RB_GETBANDINFOW
Definition: commctrl.h:1609
#define RBBIM_ID
Definition: commctrl.h:1510
#define RBBIM_LPARAM
Definition: commctrl.h:1512
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
_In_ WDFCOLLECTION _In_ ULONG Index
#define S_FALSE
Definition: winerror.h:3451
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210
#define E_UNEXPECTED
Definition: winerror.h:3528

Referenced by EnumBands(), QIBand(), and ShowDW().

◆ EnumBands() [2/2]

HRESULT STDMETHODCALLTYPE CInternetToolbar::EnumBands ( UINT  uBand,
DWORD *  pdwBandID 
)
override

Implements IBandSite.

Definition at line 1578 of file internettoolbar.cpp.

1579{
1580 if (uBand == ~0ul)
1581 return ::SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0);
1582 int id;
1583 IUnknown *pUnkUnused;
1584 HRESULT hr = EnumBands(uBand, &id, &pUnkUnused);
1585 if (SUCCEEDED(hr))
1586 *pdwBandID = id;
1587 return hr;
1588}
HRESULT EnumBands(UINT Index, int *pBandId, IUnknown **ppUnkBand)
HRESULT hr
Definition: delayimp.cpp:582
GLuint id
Definition: glext.h:5910
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define RB_GETBANDCOUNT
Definition: commctrl.h:1585

◆ Exec()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Exec ( const GUID *  pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT *  pvaIn,
VARIANT *  pvaOut 
)
override

Implements IOleCommandTarget.

Definition at line 1275 of file internettoolbar.cpp.

1277{
1278 if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1279 {
1280 switch (nCmdID)
1281 {
1282 case 1:
1283 // what do I do here?
1284 return S_OK;
1285 case ITID_TEXTLABELS:
1286 // toggle text labels
1287 return S_OK;
1290 case ITID_MENUBANDSHOWN:
1295 // toggle links band visibility
1296 return S_OK;
1298 // run customize
1299 return S_OK;
1300 case ITID_TOOLBARLOCKED:
1302 }
1303 }
1304 return E_FAIL;
1305}
HRESULT LockUnlockToolbars(bool locked)
HRESULT ToggleBandVisibility(int BandID)
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
BOOL fLocked
Definition: settings.h:15
#define ITID_LINKSBANDSHOWN
Definition: undocshell.h:980
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:978
#define ITBBID_ADDRESSBAND
Definition: undocshell.h:972
#define ITBBID_TOOLSBAND
Definition: undocshell.h:971
#define ITID_TEXTLABELS
Definition: undocshell.h:977
#define ITID_MENUBANDSHOWN
Definition: undocshell.h:981
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:983
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:979
#define ITID_TOOLBARLOCKED
Definition: undocshell.h:984
#define ITBBID_MENUBAND
Definition: undocshell.h:969

Referenced by OnMenuDropDown().

◆ GetBandObject()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBandObject ( DWORD  dwBandID,
REFIID  riid,
void **  ppv 
)
override

Implements IBandSite.

Definition at line 1615 of file internettoolbar.cpp.

1616{
1618 return E_NOTIMPL;
1619}

◆ GetBandSiteInfo()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBandSiteInfo ( BANDSITEINFO *  pbsinfo)
override

Implements IBandSite.

Definition at line 1627 of file internettoolbar.cpp.

1628{
1630 return E_NOTIMPL;
1631}

◆ GetBitmapSize()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBitmapSize ( long *  paramC)
override

Definition at line 1420 of file internettoolbar.cpp.

1421{
1422 if (paramC == NULL)
1423 return E_POINTER;
1424 *paramC = MAKELONG(24, 24);
1425 return S_OK;
1426}
#define MAKELONG(a, b)
Definition: typedefs.h:249

◆ GetButton()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetButton ( const GUID *  pguidCmdGroup,
long  param10,
long  param14 
)
override

Definition at line 1393 of file internettoolbar.cpp.

1394{
1395 return E_NOTIMPL;
1396}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetClassID ( CLSID *  pClassID)
override

Implements IPersist.

Definition at line 1076 of file internettoolbar.cpp.

1077{
1078 if (pClassID == NULL)
1079 return E_POINTER;
1080 *pClassID = CLSID_InternetToolbar;
1081 return S_OK;
1082}

◆ GetIDsOfNames()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetIDsOfNames ( REFIID  riid,
LPOLESTR *  rgszNames,
UINT  cNames,
LCID  lcid,
DISPID *  rgDispId 
)
override

Implements IDispatch.

Definition at line 1317 of file internettoolbar.cpp.

1319{
1320 return E_NOTIMPL;
1321}

◆ GetSite()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetSite ( REFIID  riid,
void **  ppvSite 
)
override

Definition at line 1508 of file internettoolbar.cpp.

1509{
1510 if (ppvSite == NULL)
1511 return E_POINTER;
1512 if (fSite.p != NULL)
1513 return fSite->QueryInterface(riid, ppvSite);
1514 *ppvSite = NULL;
1515 return S_OK;
1516}
REFIID riid
Definition: atlbase.h:39

◆ GetSizeMax()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetSizeMax ( ULARGE_INTEGER *  pcbSize)
override

Implements IPersistStreamInit.

Definition at line 1130 of file internettoolbar.cpp.

1131{
1132 return E_NOTIMPL;
1133}

◆ GetState()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetState ( const GUID *  pguidCmdGroup,
long  commandID,
long *  theState 
)
override

Definition at line 1398 of file internettoolbar.cpp.

1399{
1400 if (theState == NULL)
1401 return E_POINTER;
1402 // map the command id
1403 *theState = (long)::SendMessage(fToolbarWindow, TB_GETSTATE, commandID, 0);
1404 return S_OK;
1405}
#define TB_GETSTATE
Definition: commctrl.h:1055

◆ GetStream()

HRESULT CInternetToolbar::GetStream ( UINT  StreamFor,
DWORD  Stgm,
IStream **  ppS 
)
static

Definition at line 2072 of file internettoolbar.cpp.

2073{
2075 LPCWSTR subkey = NULL;
2076 switch (StreamFor)
2077 {
2078 case ITBARSTREAM_SHELLBROWSER: subkey = L"ShellBrowser"; break;
2079 case ITBARSTREAM_WEBBROWSER: subkey = L"WebBrowser"; break;
2080 case ITBARSTREAM_EXPLORER: subkey = L"Explorer"; break;
2081 default: return E_INVALIDARG;
2082 }
2083 wsprintfW(path, L"Software\\Microsoft\\Internet Explorer\\Toolbar\\%s", subkey);
2084 *ppS = SHOpenRegStream2W(HKEY_CURRENT_USER, path, L"RosITBarLayout", Stgm); // ROS prefix until we figure out the correct format
2085 return *ppS ? S_OK : E_FAIL;
2086}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define MAX_PATH
Definition: compat.h:34
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, const WCHAR *subkey, const WCHAR *value, DWORD mode)
Definition: main.c:1266
#define L(x)
Definition: resources.c:13
#define ITBARSTREAM_EXPLORER
#define ITBARSTREAM_SHELLBROWSER
#define ITBARSTREAM_WEBBROWSER
short WCHAR
Definition: pedump.c:58
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
const uint16_t * LPCWSTR
Definition: typedefs.h:57
#define HKEY_CURRENT_USER
Definition: winreg.h:11

Referenced by CShellBrowser::Initialize(), and CShellBrowser::SaveITBarLayout().

◆ GetTypeInfo()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
override

Implements IDispatch.

Definition at line 1312 of file internettoolbar.cpp.

1313{
1314 return E_NOTIMPL;
1315}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetTypeInfoCount ( UINT *  pctinfo)
override

Implements IDispatch.

Definition at line 1307 of file internettoolbar.cpp.

1308{
1309 return E_NOTIMPL;
1310}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetWindow ( HWND *  lphwnd)
override

Implements IOleWindow.

Definition at line 965 of file internettoolbar.cpp.

966{
967 if (lphwnd == NULL)
968 return E_POINTER;
969 *lphwnd = m_hWnd;
970 return S_OK;
971}

◆ HasFocusIO()

HRESULT STDMETHODCALLTYPE CInternetToolbar::HasFocusIO ( )
override

Definition at line 921 of file internettoolbar.cpp.

922{
924
925 if (fMenuBar)
927 if (hr != S_FALSE)
928 return hr;
929
930 if (fControlsBar)
932 if (hr != S_FALSE)
933 return hr;
934
935 if (fNavigationBar)
937 if (hr != S_FALSE)
938 return hr;
939
940 return S_FALSE;
941}
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *lpUnknown)
Definition: ordinal.c:3724

◆ InitNew()

HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew ( void  )
override

Implements IPersistStreamInit.

Definition at line 1135 of file internettoolbar.cpp.

1136{
1137 CComPtr<IShellMenu> menuBar;
1138 CComPtr<IUnknown> logoBar;
1139 CComPtr<IUnknown> toolsBar;
1140 CComPtr<IUnknown> navigationBar;
1141 HRESULT hResult;
1142
1143 /* Create and attach the menubar to the rebar */
1144 hResult = CreateMenuBar(&menuBar);
1145 if (FAILED_UNEXPECTEDLY(hResult))
1146 return hResult;
1148
1149 hResult = IUnknown_GetWindow(menuBar, &fMenuBandWindow);
1150 fMenuBar.Attach(menuBar.Detach()); // transfer the ref count
1151
1152 // FIXME: The ROS Rebar does not properly support fixed-size items such as the brandband,
1153 // and it will put them in their own row, sized to take up the whole row.
1154#if 0
1155 /* Create and attach the brand/logo to the rebar */
1156 hResult = CBrandBand_CreateInstance(IID_PPV_ARG(IUnknown, &logoBar));
1157 if (FAILED_UNEXPECTEDLY(hResult))
1158 return hResult;
1160 fLogoBar.Attach(logoBar.Detach()); // transfer the ref count
1161#endif
1162
1163 /* Create and attach the standard toolbar to the rebar */
1164 hResult = CToolsBand_CreateInstance(IID_PPV_ARG(IUnknown, &toolsBar));
1165 if (FAILED_UNEXPECTEDLY(hResult))
1166 return hResult;
1168 fControlsBar.Attach(toolsBar.Detach()); // transfer the ref count
1170 if (FAILED_UNEXPECTEDLY(hResult))
1171 return hResult;
1172
1173 /* Create and attach the address/navigation toolbar to the rebar */
1174 hResult = CAddressBand_CreateInstance(IID_PPV_ARG(IUnknown, &navigationBar));
1175 if (FAILED_UNEXPECTEDLY(hResult))
1176 return hResult;
1178 fNavigationBar.Attach(navigationBar.Detach());
1180
1181 return S_OK;
1182}
HRESULT CAddressBand_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:24
HRESULT CBrandBand_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:51
HRESULT CToolsBand_CreateInstance(REFIID riid, void **ppv)
Definition: toolsband.cpp:419
void Attach(T *lp)
Definition: atlcomcli.h:179
HRESULT CreateMenuBar(IShellMenu **menuBar)
void AddDockItem(IUnknown *newItem, int bandID, int flags)
#define ITBBID_BRANDBAND
Definition: undocshell.h:970

Referenced by Load().

◆ Invoke()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT *  pVarResult,
EXCEPINFO *  pExcepInfo,
UINT *  puArgErr 
)
override

Implements IDispatch.

Definition at line 1323 of file internettoolbar.cpp.

1325{
1326 HRESULT hResult;
1327
1328 switch(dispIdMember)
1329 {
1331 hResult = S_OK;
1332 break;
1334 hResult = S_OK;
1335 break;
1337 if (pDispParams->cArgs != 2)
1338 return E_INVALIDARG;
1339 if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL || V_VT(&pDispParams->rgvarg[1]) != VT_I4)
1340 return E_INVALIDARG;
1341 return CommandStateChanged(V_BOOL(&pDispParams->rgvarg[0]) != VARIANT_FALSE,
1342 V_I4(&pDispParams->rgvarg[1]));
1344 hResult = S_OK;
1345 break;
1347 hResult = S_OK;
1348 break;
1350 hResult = S_OK;
1351 break;
1352 }
1353 return S_OK;
1354}
HRESULT CommandStateChanged(bool newValue, int commandID)
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
#define DISPID_NAVIGATECOMPLETE2
Definition: exdispid.h:45
#define DISPID_BEFORENAVIGATE
Definition: exdispid.h:22
#define DISPID_COMMANDSTATECHANGE
Definition: exdispid.h:27
#define DISPID_DOWNLOADCOMPLETE
Definition: exdispid.h:26
#define DISPID_DOWNLOADBEGIN
Definition: exdispid.h:28
#define DISPID_DOCUMENTCOMPLETE
Definition: exdispid.h:52
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_I4(A)
Definition: oleauto.h:247

◆ IsBandVisible()

HRESULT CInternetToolbar::IsBandVisible ( int  BandID)

Definition at line 1184 of file internettoolbar.cpp.

1185{
1186 int index = (int)SendMessage(fMainReBar, RB_IDTOINDEX, BandID, 0);
1187
1190
1191 return (bandInfo.fStyle & RBBS_HIDDEN) ? S_FALSE : S_OK;
1192}
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
GLuint index
Definition: glext.h:6031
static const struct bandInfoStruct bandInfo[9]
Definition: layer3.c:95
struct tagREBARBANDINFOW REBARBANDINFOW
#define RB_IDTOINDEX
Definition: commctrl.h:1588
#define RBBS_HIDDEN
Definition: commctrl.h:1492
#define RBBIM_STYLE
Definition: commctrl.h:1502

Referenced by OnContextMenu(), QueryStatus(), Save(), and ShowDW().

◆ IsDirty()

HRESULT STDMETHODCALLTYPE CInternetToolbar::IsDirty ( void  )
override

Implements IPersistStreamInit.

Definition at line 1092 of file internettoolbar.cpp.

1093{
1094 return E_NOTIMPL;
1095}

◆ IsWindowOwner()

HRESULT STDMETHODCALLTYPE CInternetToolbar::IsWindowOwner ( HWND  hWnd)
override

Definition at line 1566 of file internettoolbar.cpp.

1567{
1569 return E_NOTIMPL;
1570}

◆ Load()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Load ( IStream *  pStm)
override

Definition at line 1097 of file internettoolbar.cpp.

1098{
1100 HRESULT hr = InitNew();
1102 if (SUCCEEDED(hr))
1103 {
1104 hr = S_FALSE;
1105 ULONG cb = sizeof(state);
1106 if (pStm->Read(&state, cb, &cb) == S_OK && state.Signature == state.SIG)
1107 {
1111 //SetBandVisibility(ITBBID_?, state.Linksbar);
1112 //SetBandVisibility(ITBBID_?, state.Throbber);
1113 hr = S_OK;
1114 }
1115 }
1117 return hr;
1118}
static int state
Definition: maze.c:121
STDMETHOD() InitNew() override
HRESULT SetBandVisibility(int BandID, int Show)
#define TRUE
Definition: types.h:120
static MonoProfilerRuntimeShutdownBeginCallback cb
Definition: metahost.c:118
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
uint32_t ULONG
Definition: typedefs.h:59

◆ LockUnlockToolbars()

HRESULT CInternetToolbar::LockUnlockToolbars ( bool  locked)

Definition at line 806 of file internettoolbar.cpp.

807{
808 if (locked != !!pSettings->fLocked)
809 {
810 pSettings->fLocked = (BOOL)locked;
811 pSettings->Save();
813 }
814 return S_OK;
815}
void RefreshLockedToolbarState()
#define BOOL
Definition: nt_native.h:43
void Save()
Definition: settings.cpp:12

Referenced by Exec(), and OnContextMenu().

◆ ModifyButton()

HRESULT STDMETHODCALLTYPE CInternetToolbar::ModifyButton ( const GUID *  pguidCmdGroup,
long  param10,
long  param14 
)
override

Definition at line 1447 of file internettoolbar.cpp.

1448{
1449 return E_NOTIMPL;
1450}

◆ OnChange()

HRESULT STDMETHODCALLTYPE CInternetToolbar::OnChange ( LONG  lEvent,
LPCITEMIDLIST  pidl1,
LPCITEMIDLIST  pidl2 
)
override

Definition at line 1452 of file internettoolbar.cpp.

1453{
1454 return E_NOTIMPL;
1455}

◆ OnCommand()

LRESULT CInternetToolbar::OnCommand ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1956 of file internettoolbar.cpp.

1957{
1958 LRESULT theResult;
1959 HRESULT hResult;
1960
1961 hResult = OnWinEvent((HWND) lParam, uMsg, wParam, lParam, &theResult);
1962
1963 bHandled = hResult == S_OK;
1964
1965 return FAILED_UNEXPECTEDLY(hResult) ? 0 : theResult;
1966}
STDMETHOD() OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) override
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
LONG_PTR LRESULT
Definition: minwindef.h:176

◆ OnContextMenu()

LRESULT CInternetToolbar::OnContextMenu ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1806 of file internettoolbar.cpp.

1807{
1808 HMENU contextMenuBar;
1809 HMENU contextMenu;
1810 POINT clickLocation;
1811 int command;
1812 RBHITTESTINFO hitTestInfo;
1813 REBARBANDINFOW rebarBandInfo;
1814 int bandID;
1815 CComPtr<IAddressBand> pAddress;
1816
1817 clickLocation.x = LOWORD(lParam);
1818 clickLocation.y = HIWORD(lParam);
1819 hitTestInfo.pt = clickLocation;
1820 ScreenToClient(&hitTestInfo.pt);
1821 SendMessage(fMainReBar, RB_HITTEST, 0, (LPARAM)&hitTestInfo);
1822 if (hitTestInfo.iBand == -1)
1823 return 0;
1824
1825 rebarBandInfo.cbSize = sizeof(rebarBandInfo);
1826 rebarBandInfo.fMask = RBBIM_ID;
1827 SendMessage(fMainReBar, RB_GETBANDINFOW, hitTestInfo.iBand, (LPARAM)&rebarBandInfo);
1828 bandID = rebarBandInfo.wID;
1829 contextMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU));
1830 contextMenu = GetSubMenu(contextMenuBar, 0);
1831 switch (bandID)
1832 {
1833 case ITBBID_MENUBAND: // menu band
1837 break;
1838 case ITBBID_BRANDBAND: // brand band
1842 break;
1843 case ITBBID_TOOLSBAND: // tools band
1846 break;
1847 case ITBBID_ADDRESSBAND: // navigation band
1850 QIBand(ITBBID_ADDRESSBAND, IID_PPV_ARG(IAddressBand, &pAddress));
1852 break;
1853 default:
1854 break;
1855 }
1856
1858
1865
1866 // TODO: use GetSystemMetrics(SM_MENUDROPALIGNMENT) to determine menu alignment
1868 clickLocation.x, clickLocation.y, 0, m_hWnd, NULL);
1869 switch (command)
1870 {
1871 case IDM_TOOLBARS_STANDARDBUTTONS: // standard buttons
1873 break;
1874 case IDM_TOOLBARS_ADDRESSBAR: // address bar
1876 break;
1877 case IDM_TOOLBARS_LINKSBAR: // links
1878 break;
1879 case IDM_TOOLBARS_LOCKTOOLBARS: // lock the toolbars
1881 break;
1882 case IDM_TOOLBARS_CUSTOMIZE: // customize
1884 break;
1887 break;
1888 }
1889
1890 DestroyMenu(contextMenuBar);
1891 return 1;
1892}
static BOOL IsGoButtonVisible(IUnknown *pUnkBand)
Definition: addressband.cpp:60
HRESULT IsBandVisible(int BandID)
HRESULT QIBand(int BandID, REFIID riid, void **ppv)
#define IDM_TOOLBARS_LOCKTOOLBARS
Definition: resource.h:34
#define IDM_TOOLBARS_TEXTLABELS
Definition: resource.h:36
#define IDM_TOOLBARS_STANDARDBUTTONS
Definition: resource.h:31
#define IDM_CABINET_CONTEXTMENU
Definition: resource.h:91
#define IDM_TOOLBARS_GOBUTTON
Definition: resource.h:37
#define IDM_TOOLBARS_CUSTOMIZE
Definition: resource.h:35
#define IDM_TOOLBARS_ADDRESSBAR
Definition: resource.h:32
#define IDM_TOOLBARS_LINKSBAR
Definition: resource.h:33
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
Definition: ordinal.c:1395
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
Definition: ordinal.c:1376
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
#define LOWORD(l)
Definition: pedump.c:82
#define TB_CUSTOMIZE
Definition: commctrl.h:1130
#define RB_HITTEST
Definition: commctrl.h:1581
#define TPM_RIGHTBUTTON
Definition: winuser.h:2416
#define WM_COMMAND
Definition: winuser.h:1768
#define TPM_TOPALIGN
Definition: winuser.h:2419
#define TPM_LEFTALIGN
Definition: winuser.h:2413
#define LoadMenu
Definition: winuser.h:5983
BOOL WINAPI DestroyMenu(_In_ HMENU)
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
#define TPM_RETURNCMD
Definition: winuser.h:2423
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
long y
Definition: dcommon.idl:24
long x
Definition: dcommon.idl:24
BOOL fShowGoButton
Definition: settings.h:16
#define HIWORD(l)
Definition: typedefs.h:247

◆ OnFolders()

LRESULT CInternetToolbar::OnFolders ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1669 of file internettoolbar.cpp.

1670{
1671 IUnknown_Exec(fSite, CGID_Explorer, 0x23, 0, NULL, NULL);
1672 return 1;
1673}

◆ OnForwardToCommandTarget()

LRESULT CInternetToolbar::OnForwardToCommandTarget ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1675 of file internettoolbar.cpp.

1676{
1677 HRESULT hResult;
1678
1679 if (fCommandTarget.p != NULL)
1680 {
1681 hResult = fCommandTarget->Exec(&fCommandCategory, wID, 0, NULL, NULL);
1682 if (FAILED(hResult))
1683 {
1684 ::SendMessageW(::GetParent(m_hWnd), WM_COMMAND, wID, 0);
1685 }
1686 }
1687 return 1;
1688}
CComPtr< IOleCommandTarget > fCommandTarget
#define FAILED(hr)
Definition: intsafe.h:51
HWND WINAPI GetParent(_In_ HWND)

◆ OnLDown()

LRESULT CInternetToolbar::OnLDown ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1982 of file internettoolbar.cpp.

1983{
1984 bHandled = FALSE;
1985 if (pSettings->fLocked)
1986 return 0;
1987
1988 if (wParam & MK_CONTROL)
1989 return 0;
1990
1991 fSizing = TRUE;
1992
1993 DWORD msgp = GetMessagePos();
1994
1997
1998 RECT rc;
1999 GetWindowRect(&rc);
2000
2001 fStartHeight = rc.bottom - rc.top;
2002
2003 SetCapture();
2004
2005 bHandled = TRUE;
2006 return 0;
2007}
unsigned long DWORD
Definition: ntddk_ex.h:95
HWND WINAPI SetCapture(_In_ HWND hWnd)
DWORD WINAPI GetMessagePos(void)
Definition: message.c:1351
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
#define MK_CONTROL
Definition: winuser.h:2406
Definition: dcommon.idl:28
long bottom
Definition: dcommon.idl:29
long top
Definition: dcommon.idl:29
#define GET_Y_LPARAM(lp)
Definition: windowsx.h:300
#define GET_X_LPARAM(lp)
Definition: windowsx.h:299

◆ OnLUp()

LRESULT CInternetToolbar::OnLUp ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 2027 of file internettoolbar.cpp.

2028{
2029 bHandled = FALSE;
2030 if (!fSizing)
2031 return 0;
2032
2033 OnMouseMove(uMsg, wParam, lParam, bHandled);
2034
2035 fSizing = FALSE;
2036
2038
2039 return 0;
2040}
LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI ReleaseCapture(void)
Definition: message.c:2890

◆ OnMenuDropDown()

LRESULT CInternetToolbar::OnMenuDropDown ( UINT  idControl,
NMHDR *  pNMHDR,
BOOL &  bHandled 
)

Definition at line 1690 of file internettoolbar.cpp.

1691{
1692 CComPtr<IBrowserService> browserService;
1693 CComPtr<IOleCommandTarget> commandTarget;
1694 CComPtr<ITravelLog> travelLog;
1695 NMTOOLBARW *notifyInfo;
1696 RECT bounds;
1697 HMENU newMenu;
1699 int selectedItem;
1700 VARIANT parmIn;
1701 OLECMD commandInfo;
1702 HRESULT hResult;
1703 wchar_t templateString[200];
1704
1705 notifyInfo = (NMTOOLBARW *)pNMHDR;
1706 if (notifyInfo->hdr.hwndFrom != fToolbarWindow)
1707 {
1708 // not from the toolbar, keep looking for a message handler
1709 bHandled = FALSE;
1710 return 0;
1711 }
1712 SendMessage(fToolbarWindow, TB_GETRECT, notifyInfo->iItem, reinterpret_cast<LPARAM>(&bounds));
1713 ::MapWindowPoints(fToolbarWindow, NULL, reinterpret_cast<POINT *>(&bounds), 2);
1714 switch (notifyInfo->iItem)
1715 {
1716 case IDM_GOTO_BACK:
1717 newMenu = CreatePopupMenu();
1719 hResult = browserService->GetTravelLog(&travelLog);
1720 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_BACK);
1721 commandInfo.cmdID = 0x1d;
1722 hResult = IUnknown_QueryStatus(browserService, CGID_Explorer, 1, &commandInfo, NULL);
1723 if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED &&
1724 travelLog->CountEntries(browserService) > 1)
1725 {
1726 AppendMenuW(newMenu, MF_SEPARATOR, -1, L"");
1727
1728 if (LoadStringW(_AtlBaseModule.GetResourceInstance(),
1729 IDS_HISTORYTEXT, templateString, sizeof(templateString) / sizeof(wchar_t)) == 0)
1730 StringCbCopyW(templateString, sizeof(templateString), L"&History\tCtrl+H");
1731
1732 AppendMenuW(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, templateString);
1733 }
1734 params.cbSize = sizeof(params);
1735 params.rcExclude = bounds;
1736 selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD,
1737 bounds.left, bounds.bottom, m_hWnd, &params);
1738 if (selectedItem == IDM_EXPLORERBAR_HISTORY)
1739 {
1740 V_VT(&parmIn) = VT_I4;
1741 V_I4(&parmIn) = 1;
1742 Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL);
1743 }
1744 else if (selectedItem != 0)
1745 hResult = travelLog->Travel(browserService, -selectedItem);
1746 DestroyMenu(newMenu);
1747 break;
1748 case IDM_GOTO_FORWARD:
1749 newMenu = CreatePopupMenu();
1751 hResult = browserService->GetTravelLog(&travelLog);
1752 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_FORE);
1753 commandInfo.cmdID = 0x1d;
1754 hResult = IUnknown_QueryStatus(browserService, CGID_Explorer, 1, &commandInfo, NULL);
1755 if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED &&
1756 travelLog->CountEntries(browserService) > 1)
1757 {
1758 AppendMenuW(newMenu, MF_SEPARATOR, -1, L"");
1759
1760 if (LoadStringW(_AtlBaseModule.GetResourceInstance(),
1761 IDS_HISTORYTEXT, templateString, sizeof(templateString) / sizeof(wchar_t)) == 0)
1762 StringCbCopyW(templateString, sizeof(templateString), L"&History\tCtrl+H");
1763
1764 AppendMenuW(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, templateString);
1765 }
1766 params.cbSize = sizeof(params);
1767 params.rcExclude = bounds;
1768 selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD,
1769 bounds.left, bounds.bottom, m_hWnd, &params);
1770 if (selectedItem == IDM_EXPLORERBAR_HISTORY)
1771 {
1772 V_VT(&parmIn) = VT_I4;
1773 V_I4(&parmIn) = 1;
1774 Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL);
1775 }
1776 else if (selectedItem != 0)
1777 hResult = travelLog->Travel(browserService, selectedItem);
1778 DestroyMenu(newMenu);
1779 break;
1780 case gViewsCommandID:
1781 VARIANT inValue;
1782 CComVariant outValue;
1783 HRESULT hResult;
1784
1785 V_VT(&inValue) = VT_INT_PTR;
1786 V_INTREF(&inValue) = reinterpret_cast<INT *>(&bounds);
1787
1788 if (fCommandTarget.p != NULL)
1789 hResult = fCommandTarget->Exec(&fCommandCategory, FCIDM_SHVIEW_AUTOARRANGE, 1, &inValue, &outValue);
1790 // pvaOut is VT_I4 with value 0x403
1791 break;
1792 }
1793 return TBDDRET_DEFAULT;
1794}
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
#define IDS_HISTORYTEXT
Definition: resource.h:131
#define IDM_EXPLORERBAR_HISTORY
Definition: resource.h:43
HRESULT WINAPI IUnknown_QueryService(IUnknown *obj, REFGUID sid, REFIID iid, void **out)
Definition: main.c:181
GLenum const GLfloat * params
Definition: glext.h:5645
static const int gViewsCommandID
#define TBDDRET_DEFAULT
Definition: commctrl.h:1424
#define TB_GETRECT
Definition: commctrl.h:1153
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:838
#define MF_STRING
Definition: winuser.h:138
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
#define MF_SEPARATOR
Definition: winuser.h:137
BOOL WINAPI AppendMenuW(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
#define LoadStringW
Definition: utils.h:64
#define SID_SShellBrowser
Definition: shlguid.h:128
#define TLMENUF_BACK
Definition: shlobj.h:2789
#define TLMENUF_FORE
Definition: shlobj.h:2790
#define FCIDM_SHVIEW_AUTOARRANGE
Definition: shresdef.h:885
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:166
long left
Definition: dcommon.idl:29
HWND hwndFrom
Definition: winuser.h:3265
int32_t INT
Definition: typedefs.h:58

◆ OnMouseMove()

LRESULT CInternetToolbar::OnMouseMove ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 2009 of file internettoolbar.cpp.

2010{
2011 bHandled = FALSE;
2012 if (!fSizing)
2013 return 0;
2014
2015 DWORD msgp = GetMessagePos();
2016
2017 POINT pt;
2018 pt.x = GET_X_LPARAM(msgp);
2019 pt.y = GET_Y_LPARAM(msgp);
2020
2022
2023 bHandled = TRUE;
2024 return 0;
2025}
HRESULT ReserveBorderSpace(LONG maxHeight=-1)
#define pt(x, y)
Definition: drawing.c:79

Referenced by OnLUp().

◆ OnNavigateCommand()

LRESULT CInternetToolbar::OnNavigateCommand ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

◆ OnNotify()

LRESULT CInternetToolbar::OnNotify ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1967 of file internettoolbar.cpp.

1968{
1969 NMHDR *notifyHeader;
1970 LRESULT theResult;
1971 HRESULT hResult;
1972
1973 notifyHeader = reinterpret_cast<NMHDR *>(lParam);
1974
1975 hResult = OnWinEvent(notifyHeader->hwndFrom, uMsg, wParam, lParam, &theResult);
1976
1977 bHandled = hResult == S_OK;
1978
1979 return FAILED_UNEXPECTEDLY(hResult) ? 0 : theResult;
1980}

◆ OnQueryDelete()

LRESULT CInternetToolbar::OnQueryDelete ( UINT  idControl,
NMHDR *  pNMHDR,
BOOL &  bHandled 
)

Definition at line 1801 of file internettoolbar.cpp.

1802{
1803 return 1;
1804}

◆ OnQueryInsert()

LRESULT CInternetToolbar::OnQueryInsert ( UINT  idControl,
NMHDR *  pNMHDR,
BOOL &  bHandled 
)

Definition at line 1796 of file internettoolbar.cpp.

1797{
1798 return 1;
1799}

◆ OnSearch()

LRESULT CInternetToolbar::OnSearch ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1663 of file internettoolbar.cpp.

1664{
1665 IUnknown_Exec(fSite, CGID_Explorer, 0x1c, 1, NULL, NULL);
1666 return 1;
1667}

◆ OnSetCursor()

LRESULT CInternetToolbar::OnSetCursor ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1904 of file internettoolbar.cpp.

1905{
1906 if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd)
1907 {
1908 bHandled = FALSE;
1909 return 0;
1910 }
1912 return 1;
1913}
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
#define IDC_SIZENS
Definition: winuser.h:703
#define HTCLIENT
Definition: winuser.h:2511
#define LoadCursor
Definition: winuser.h:5978

◆ OnSettingsChange()

LRESULT CInternetToolbar::OnSettingsChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 2064 of file internettoolbar.cpp.

2065{
2066 /* Refresh toolbar locked state */
2068
2069 return 0;
2070}

◆ OnSize()

LRESULT CInternetToolbar::OnSize ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 1894 of file internettoolbar.cpp.

1895{
1896 if (wParam != SIZE_MINIMIZED)
1897 {
1900 }
1901 return 1;
1902}
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define SWP_NOMOVE
Definition: winuser.h:1255
#define SIZE_MINIMIZED
Definition: winuser.h:2542
#define SWP_NOOWNERZORDER
Definition: winuser.h:1260
#define SWP_NOZORDER
Definition: winuser.h:1258

◆ OnTipText()

LRESULT CInternetToolbar::OnTipText ( UINT  idControl,
NMHDR *  pNMHDR,
BOOL &  bHandled 
)

Definition at line 1915 of file internettoolbar.cpp.

1916{
1917 CComPtr<IBrowserService> browserService;
1918 CComPtr<ITravelLog> travelLog;
1919 TOOLTIPTEXTW *pTTTW;
1920 UINT nID;
1921 HRESULT hResult;
1922 wchar_t tempString[300];
1923
1924 pTTTW = reinterpret_cast<TOOLTIPTEXTW *>(pNMHDR);
1925 if ((pTTTW->uFlags & TTF_IDISHWND) != 0)
1926 nID = ::GetDlgCtrlID((HWND)pNMHDR->idFrom);
1927 else
1928 nID = (UINT)pNMHDR->idFrom;
1929
1930 if (nID != 0)
1931 {
1932 if (nID == (UINT)IDM_GOTO_BACK || nID == (UINT)IDM_GOTO_FORWARD)
1933 {
1934 // TODO: Should this call QueryService?
1935 hResult = fSite->QueryInterface(IID_PPV_ARG(IBrowserService, &browserService));
1936 hResult = browserService->GetTravelLog(&travelLog);
1937 hResult = travelLog->GetToolTipText(browserService,
1938 (nID == (UINT)IDM_GOTO_BACK) ? TLOG_BACK : TLOG_FORE,
1939 0, tempString, 299);
1940 if (FAILED_UNEXPECTEDLY(hResult))
1941 {
1942 bHandled = FALSE;
1943 return 0;
1944 }
1945 }
1946 else
1947 tempString[0] = 0;
1948 wcsncpy (pTTTW->szText, tempString, sizeof(pTTTW->szText) / sizeof(wchar_t));
1949 ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0,
1951 return 0;
1952 }
1953 return 0;
1954}
unsigned int UINT
Definition: sysinfo.c:13
if(dx< 0)
Definition: linetemp.h:194
#define TOOLTIPTEXTW
Definition: commctrl.h:1889
#define TTF_IDISHWND
Definition: commctrl.h:1764
#define SWP_NOACTIVATE
Definition: winuser.h:1253
#define SWP_NOSIZE
Definition: winuser.h:1256
#define HWND_TOP
Definition: winuser.h:1218
int WINAPI GetDlgCtrlID(_In_ HWND)
wcsncpy
#define UINT
Definition: utils.c:29
#define TLOG_FORE
Definition: shlobj.h:2785
#define TLOG_BACK
Definition: shlobj.h:2784
UINT_PTR idFrom
Definition: winuser.h:3266

◆ OnTravelBack()

LRESULT CInternetToolbar::OnTravelBack ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1633 of file internettoolbar.cpp.

1634{
1635 CComPtr<IWebBrowser> webBrowser;
1636 HRESULT hResult;
1637
1638 hResult = IUnknown_QueryService(fSite, SID_SShellBrowser, IID_PPV_ARG(IWebBrowser, &webBrowser));
1639 if (FAILED_UNEXPECTEDLY(hResult))
1640 return 0;
1641 hResult = webBrowser->GoBack();
1642 return 1;
1643}

◆ OnTravelForward()

LRESULT CInternetToolbar::OnTravelForward ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1645 of file internettoolbar.cpp.

1646{
1647 CComPtr<IWebBrowser> webBrowser;
1648 HRESULT hResult;
1649
1650 hResult = IUnknown_QueryService(fSite, SID_SShellBrowser, IID_PPV_ARG(IWebBrowser, &webBrowser));
1651 if (FAILED_UNEXPECTEDLY(hResult))
1652 return 0;
1653 hResult = webBrowser->GoForward();
1654 return 1;
1655}

◆ OnUpLevel()

LRESULT CInternetToolbar::OnUpLevel ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL &  bHandled 
)

Definition at line 1657 of file internettoolbar.cpp.

1658{
1659 IUnknown_Exec(fSite, CGID_ShellBrowser, IDM_GOTO_UPONELEVEL, 0, NULL, NULL);
1660 return 1;
1661}

◆ OnWinEvent()

HRESULT STDMETHODCALLTYPE CInternetToolbar::OnWinEvent ( HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT *  theResult 
)
override

Definition at line 1537 of file internettoolbar.cpp.

1539{
1540 HRESULT hResult;
1541
1542 if (fMenuBar)
1543 {
1544 hResult = IUnknown_RelayWinEvent(fMenuBar, hWnd, uMsg, wParam, lParam, theResult);
1545 if (hResult != S_FALSE)
1546 return hResult;
1547 }
1548
1549 if (fNavigationBar)
1550 {
1551 hResult = IUnknown_RelayWinEvent(fNavigationBar, hWnd, uMsg, wParam, lParam, theResult);
1552 if (hResult != S_FALSE)
1553 return hResult;
1554 }
1555
1556 if (fLogoBar)
1557 {
1558 hResult = IUnknown_RelayWinEvent(fLogoBar, hWnd, uMsg, wParam, lParam, theResult);
1559 if (hResult != S_FALSE)
1560 return hResult;
1561 }
1562
1563 return S_FALSE;
1564}
HWND hWnd
Definition: settings.c:17
HRESULT IUnknown_RelayWinEvent(IUnknown *punk, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)

Referenced by OnCommand(), and OnNotify().

◆ OnWinIniChange()

LRESULT CInternetToolbar::OnWinIniChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL &  bHandled 
)

Definition at line 2042 of file internettoolbar.cpp.

2043{
2044 HRESULT hr;
2045 HWND hwndMenu;
2046
2047 hr = IUnknown_GetWindow(fMenuBar, &hwndMenu);
2049 return 0;
2050
2051 CComPtr<IWinEventHandler> menuWinEventHandler;
2052 hr = fMenuBar->QueryInterface(IID_PPV_ARG(IWinEventHandler, &menuWinEventHandler));
2054 return 0;
2055
2056 LRESULT lres;
2057 hr = menuWinEventHandler->OnWinEvent(hwndMenu, uMsg, wParam, lParam, &lres);
2059 return 0;
2060
2061 return lres;
2062}

◆ QIBand()

HRESULT CInternetToolbar::QIBand ( int  BandID,
REFIID  riid,
void **  ppv 
)

Definition at line 714 of file internettoolbar.cpp.

715{
716 IUnknown *pUnk; // Not ref. counted
717 int temp = (UINT) SendMessageW(fMainReBar, RB_IDTOINDEX, BandID, 0);
718 if (EnumBands(temp, &temp, &pUnk) == S_OK)
719 return pUnk->QueryInterface(riid, ppv);
720 *ppv = NULL;
721 return E_NOINTERFACE;
722}
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:41
REFIID LPVOID * ppv
Definition: atlbase.h:39
nsresult QueryInterface(nsIIDRef riid, void **result)
static calc_node_t temp
Definition: rpn_ieee.c:38
#define E_NOINTERFACE
Definition: winerror.h:3479

Referenced by OnContextMenu().

◆ QueryBand()

HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryBand ( DWORD  dwBandID,
IDeskBand **  ppstb,
DWORD *  pdwState,
LPWSTR  pszName,
int  cchName 
)
override

Implements IBandSite.

Definition at line 1590 of file internettoolbar.cpp.

1592{
1593 if (ppstb == NULL)
1594 return E_POINTER;
1595 if (dwBandID == ITBBID_MENUBAND && fMenuBar.p != NULL)
1596 return fMenuBar->QueryInterface(IID_PPV_ARG(IDeskBand, ppstb));
1597 //if (dwBandID == ITBBID_BRANDBAND && fLogoBar.p != NULL)
1598 // return fLogoBar->QueryInterface(IID_PPV_ARG(IDeskBand, ppstb));
1599 *ppstb = NULL;
1600 return E_FAIL;
1601}

◆ QueryService()

HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
override

Implements IServiceProvider.

Definition at line 1518 of file internettoolbar.cpp.

1519{
1520 HRESULT hResult;
1521
1522 if (IsEqualIID(guidService, IID_IBandSite))
1523 return this->QueryInterface(riid, ppvObject);
1524 if (IsEqualIID(guidService, SID_IBandProxy))
1525 {
1526 if (fBandProxy.p == NULL)
1527 {
1528 hResult = CreateAndInitBandProxy();
1529 if (FAILED_UNEXPECTEDLY(hResult))
1530 return hResult;
1531 }
1532 return fBandProxy->QueryInterface(riid, ppvObject);
1533 }
1534 return IUnknown_QueryService(fSite, guidService, riid, ppvObject);
1535}
HRESULT CreateAndInitBandProxy()
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318

Referenced by CDockSite::QueryService().

◆ QueryStatus()

HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryStatus ( const GUID *  pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT *  pCmdText 
)
override

Implements IOleCommandTarget.

Definition at line 1222 of file internettoolbar.cpp.

1224{
1225 if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1226 {
1227 while (cCmds != 0)
1228 {
1229 switch (prgCmds->cmdID)
1230 {
1231 case ITID_TEXTLABELS: // Text Labels state
1232 prgCmds->cmdf = OLECMDF_SUPPORTED;
1233 break;
1234 case ITID_TOOLBARBANDSHOWN: // toolbar visibility
1235 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1237 prgCmds->cmdf |= OLECMDF_LATCHED;
1238 break;
1239 case ITID_ADDRESSBANDSHOWN: // address bar visibility
1240 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1242 prgCmds->cmdf |= OLECMDF_LATCHED;
1243 break;
1244 case ITID_LINKSBANDSHOWN: // links bar visibility
1245 prgCmds->cmdf = 0;
1246 break;
1247 case ITID_MENUBANDSHOWN: // Menubar band visibility
1248 prgCmds->cmdf = OLECMDF_SUPPORTED;
1250 prgCmds->cmdf |= OLECMDF_LATCHED;
1251 break;
1252 case ITID_AUTOHIDEENABLED: // Auto hide enabled/disabled
1253 prgCmds->cmdf = 0;
1254 break;
1255 case ITID_CUSTOMIZEENABLED: // customize enabled
1256 prgCmds->cmdf = OLECMDF_SUPPORTED;
1257 break;
1258 case ITID_TOOLBARLOCKED: // lock toolbars
1259 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1260 if (pSettings->fLocked)
1261 prgCmds->cmdf |= OLECMDF_LATCHED;
1262 break;
1263 default:
1264 prgCmds->cmdf = 0;
1265 break;
1266 }
1267 prgCmds++;
1268 cCmds--;
1269 }
1270 return S_OK;
1271 }
1272 return E_FAIL;
1273}
#define ITID_AUTOHIDEENABLED
Definition: undocshell.h:982

◆ RefreshLockedToolbarState()

void CInternetToolbar::RefreshLockedToolbarState ( )

Definition at line 817 of file internettoolbar.cpp.

818{
819 REBARBANDINFOW rebarBandInfo;
820 int bandCount;
821 CDockSite *dockSite;
822
823 rebarBandInfo.cbSize = sizeof(rebarBandInfo);
824 rebarBandInfo.fMask = RBBIM_STYLE | RBBIM_LPARAM;
825 bandCount = (int)SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0);
826 for (INT x = 0; x < bandCount; x++)
827 {
828 SendMessage(fMainReBar, RB_GETBANDINFOW, x, (LPARAM)&rebarBandInfo);
829 dockSite = reinterpret_cast<CDockSite *>(rebarBandInfo.lParam);
830 if (dockSite != NULL)
831 {
832 rebarBandInfo.fStyle &= ~(RBBS_NOGRIPPER | RBBS_GRIPPERALWAYS);
833 if ((dockSite->fFlags & CDockSite::ITF_NOGRIPPER) || pSettings->fLocked)
834 rebarBandInfo.fStyle |= RBBS_NOGRIPPER;
836 rebarBandInfo.fStyle |= RBBS_GRIPPERALWAYS;
837 SendMessage(fMainReBar, RB_SETBANDINFOW, x, (LPARAM)&rebarBandInfo);
838 }
839 }
841}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define RB_SETBANDINFOW
Definition: commctrl.h:1584
#define RBBS_NOGRIPPER
Definition: commctrl.h:1497
#define RBBS_GRIPPERALWAYS
Definition: commctrl.h:1496

Referenced by LockUnlockToolbars(), and OnSettingsChange().

◆ RemoveBand()

HRESULT STDMETHODCALLTYPE CInternetToolbar::RemoveBand ( DWORD  dwBandID)
override

Implements IBandSite.

Definition at line 1609 of file internettoolbar.cpp.

1610{
1612 return E_NOTIMPL;
1613}

◆ ReserveBorderSpace()

HRESULT CInternetToolbar::ReserveBorderSpace ( LONG  maxHeight = -1)

Definition at line 724 of file internettoolbar.cpp.

725{
726 CComPtr<IDockingWindowSite> dockingWindowSite;
727 RECT availableBorderSpace;
728
729 HRESULT hResult = fSite->QueryInterface(IID_PPV_ARG(IDockingWindowSite, &dockingWindowSite));
730 if (FAILED_UNEXPECTEDLY(hResult))
731 return hResult;
732 hResult = dockingWindowSite->GetBorderDW(static_cast<IDockingWindow *>(this), &availableBorderSpace);
733 if (FAILED_UNEXPECTEDLY(hResult))
734 return hResult;
735
736 if (maxHeight && availableBorderSpace.bottom - availableBorderSpace.top > maxHeight)
737 {
738 availableBorderSpace.bottom = availableBorderSpace.top + maxHeight;
739 }
740
741 return ResizeBorderDW(&availableBorderSpace, fSite, FALSE);
742}
STDMETHOD() ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override

Referenced by OnMouseMove(), RefreshLockedToolbarState(), SetBandVisibility(), and ShowDW().

◆ ResizeBorderDW()

HRESULT STDMETHODCALLTYPE CInternetToolbar::ResizeBorderDW ( LPCRECT  prcBorder,
IUnknown *  punkToolbarSite,
BOOL  fReserved 
)
override

Implements IDockingWindow.

Definition at line 1041 of file internettoolbar.cpp.

1043{
1044 RECT neededBorderSpace;
1045 RECT availableBorderSpace = *prcBorder;
1046
1047 SendMessage(fMainReBar, RB_SIZETORECT, RBSTR_CHANGERECT, reinterpret_cast<LPARAM>(&availableBorderSpace));
1048
1049 // RBSTR_CHANGERECT does not seem to set the proper size in the rect.
1050 // Let's make sure we fetch the actual size properly.
1051 ::GetWindowRect(fMainReBar, &availableBorderSpace);
1052 neededBorderSpace.left = 0;
1053 neededBorderSpace.top = availableBorderSpace.bottom - availableBorderSpace.top;
1054 if (!pSettings->fLocked)
1055 neededBorderSpace.top += 3;
1056 neededBorderSpace.right = 0;
1057 neededBorderSpace.bottom = 0;
1058
1059 CComPtr<IDockingWindowSite> dockingWindowSite;
1060
1061 HRESULT hResult = fSite->QueryInterface(IID_PPV_ARG(IDockingWindowSite, &dockingWindowSite));
1062 if (FAILED_UNEXPECTEDLY(hResult))
1063 return hResult;
1064
1065 hResult = dockingWindowSite->RequestBorderSpaceDW(static_cast<IDockingWindow *>(this), &neededBorderSpace);
1066 if (FAILED_UNEXPECTEDLY(hResult))
1067 return hResult;
1068
1069 hResult = dockingWindowSite->SetBorderSpaceDW(static_cast<IDockingWindow *>(this), &neededBorderSpace);
1070 if (FAILED_UNEXPECTEDLY(hResult))
1071 return hResult;
1072
1073 return S_OK;
1074}
#define RBSTR_CHANGERECT
Definition: commctrl.h:1596
#define RB_SIZETORECT
Definition: commctrl.h:1598
long right
Definition: dcommon.idl:29

Referenced by ReserveBorderSpace().

◆ Save()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Save ( IStream *  pStm,
BOOL  fClearDirty 
)
override

Definition at line 1120 of file internettoolbar.cpp.

1121{
1122 ITBARSTATE state = { sizeof(state), state.SIG };
1124 state.StdToolbar = IsBandVisible(ITBBID_TOOLSBAND) == S_OK;
1125 state.Addressbar = IsBandVisible(ITBBID_ADDRESSBAND) == S_OK;
1126 state.Linksbar = FALSE;
1127 return pStm->Write(&state, sizeof(state), NULL);
1128}
HRESULT Write([in, size_is(cb)] const void *pv, [in] ULONG cb, [out] ULONG *pcbWritten)

◆ SendToolbarMsg()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SendToolbarMsg ( const GUID *  pguidCmdGroup,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT *  result 
)
override

Definition at line 1428 of file internettoolbar.cpp.

1430{
1431 if (fToolbarWindow)
1432 {
1434 if (result)
1435 *result = res;
1436 return S_OK;
1437 }
1438 return E_NOTIMPL;
1439}
GLuint res
Definition: glext.h:9613

◆ SetBandSiteInfo()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetBandSiteInfo ( const BANDSITEINFO *  pbsinfo)
override

Implements IBandSite.

Definition at line 1621 of file internettoolbar.cpp.

1622{
1624 return E_NOTIMPL;
1625}

◆ SetBandState()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetBandState ( DWORD  dwBandID,
DWORD  dwMask,
DWORD  dwState 
)
override

Implements IBandSite.

Definition at line 1603 of file internettoolbar.cpp.

1604{
1606 return E_NOTIMPL;
1607}

◆ SetBandVisibility()

HRESULT CInternetToolbar::SetBandVisibility ( int  BandID,
int  Show 
)

Definition at line 1194 of file internettoolbar.cpp.

1195{
1196 int index = (int)SendMessage(fMainReBar, RB_IDTOINDEX, BandID, 0);
1199 return E_FAIL;
1200
1201 if (Show < 0)
1202 bandInfo.fStyle ^= RBBS_HIDDEN; // Toggle
1203 else if (Show)
1204 bandInfo.fStyle &= ~RBBS_HIDDEN;
1205 else
1206 bandInfo.fStyle |= RBBS_HIDDEN;
1207
1208 bandInfo.fMask &= ~RBBIM_CHILD;
1209 ::ShowWindow(bandInfo.hwndChild, (bandInfo.fStyle & RBBS_HIDDEN) ? SW_HIDE : SW_SHOW); // CORE-17236
1211
1213 SetDirty();
1214 return S_OK;
1215}
#define RBBIM_CHILD
Definition: commctrl.h:1506
#define SW_HIDE
Definition: winuser.h:779
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SW_SHOW
Definition: winuser.h:786

Referenced by Load(), and ToggleBandVisibility().

◆ SetCommandTarget()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetCommandTarget ( IUnknown *  theTarget,
GUID *  category,
long  param14 
)
override

Definition at line 1356 of file internettoolbar.cpp.

1357{
1358 HRESULT hResult;
1359
1360 TRACE("SetCommandTarget %p category %s param %d\n", theTarget, wine_dbgstr_guid(category), param14);
1361
1362 fCommandTarget.Release();
1364 if (FAILED_UNEXPECTEDLY(hResult))
1365 return hResult;
1367 return S_OK;
1368}
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:181
#define TRACE(s)
Definition: solgame.cpp:4

◆ SetDirty()

HRESULT CInternetToolbar::SetDirty ( )

Definition at line 1084 of file internettoolbar.cpp.

1085{
1086 if (fIgnoreChanges)
1087 return S_OK;
1088 IUnknown_Exec(fSite, CGID_ShellBrowser, IDM_NOTIFYITBARDIRTY, 0, NULL, NULL);
1089 return S_OK;
1090}
#define IDM_NOTIFYITBARDIRTY
Definition: resource.h:79

Referenced by SetBandVisibility().

◆ SetImageList()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetImageList ( const GUID *  pguidCmdGroup,
HIMAGELIST  param10,
HIMAGELIST  param14,
HIMAGELIST  param18 
)
override

Definition at line 1441 of file internettoolbar.cpp.

1443{
1444 return E_NOTIMPL;
1445}

◆ SetSite()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetSite ( IUnknown *  pUnkSite)
override

Implements IObjectWithSite.

Definition at line 1457 of file internettoolbar.cpp.

1458{
1459 CComPtr<IBrowserService> browserService;
1460 HWND ownerWindow;
1461 HWND dockContainer;
1462 HRESULT hResult;
1463
1464 if (pUnkSite == NULL)
1465 {
1466 hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie);
1468 DestroyWindow();
1469 fSite.Release();
1470 }
1471 else
1472 {
1473 // get window handle of owner
1474 hResult = IUnknown_GetWindow(pUnkSite, &ownerWindow);
1475 if (FAILED_UNEXPECTEDLY(hResult))
1476 return hResult;
1477 if (ownerWindow == NULL)
1478 return E_FAIL;
1479
1480 // Get settings from owner window
1482
1483 // create dock container
1484 fSite = pUnkSite;
1485 dockContainer = SHCreateWorkerWindowW(0, ownerWindow, 0,
1487 if (dockContainer == NULL)
1488 return E_FAIL;
1489 SubclassWindow(dockContainer);
1490
1491 // create rebar in dock container
1497 0, 0, 700, 60, dockContainer, NULL, _AtlBaseModule.GetModuleInstance(), NULL);
1498 if (fMainReBar == NULL)
1499 return E_FAIL;
1500
1501 // take advice to watch events
1502 hResult = IUnknown_QueryService(pUnkSite, SID_SShellBrowser, IID_PPV_ARG(IBrowserService, &browserService));
1503 hResult = AtlAdvise(browserService, static_cast<IDispatch *>(this), DIID_DWebBrowserEvents, &fAdviseCookie);
1504 }
1505 return S_OK;
1506}
void Release()
Definition: atlcomcli.h:170
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
Definition: atl.c:42
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
Definition: atl.c:70
#define BWM_GETSETTINGSPTR
Definition: settings.h:11
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:2552
#define WS_CHILD
Definition: pedump.c:617
#define WS_BORDER
Definition: pedump.c:625
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define RBS_REGISTERDROP
Definition: commctrl.h:1474
#define REBARCLASSNAMEW
Definition: commctrl.h:1463
#define RBS_BANDBORDERS
Definition: commctrl.h:1472
#define RBS_AUTOSIZE
Definition: commctrl.h:1475
#define CCS_NODIVIDER
Definition: commctrl.h:2253
#define CCS_TOP
Definition: commctrl.h:2247
#define RBS_VARHEIGHT
Definition: commctrl.h:1471
#define CCS_NOPARENTALIGN
Definition: commctrl.h:2251
#define RBS_DBLCLKTOGGLE
Definition: commctrl.h:1477
#define CreateWindowEx
Definition: winuser.h:5921
#define WS_EX_RIGHTSCROLLBAR
Definition: winuser.h:401
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
#define WS_EX_LTRREADING
Definition: winuser.h:393
BOOL WINAPI DestroyWindow(_In_ HWND)
#define WS_EX_LEFT
Definition: winuser.h:391
Definition: style.c:91
#define SubclassWindow(hwnd, lpfn)
Definition: windowsx.h:542

Referenced by CloseDW().

◆ SetState() [1/2]

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetState ( const GUID *  pguidCmdGroup,
long  commandID,
long  theState 
)
override

Definition at line 1407 of file internettoolbar.cpp.

1408{
1409 // map the command id
1410 ::SendMessage(fToolbarWindow, TB_SETSTATE, commandID, MAKELONG(theState, 0));
1411 return S_OK;
1412}
#define TB_SETSTATE
Definition: commctrl.h:1054

◆ SetState() [2/2]

HRESULT CInternetToolbar::SetState ( const GUID *  pguidCmdGroup,
long  commandID,
OLECMD *  pcmd 
)

Definition at line 843 of file internettoolbar.cpp.

844{
845 long state = 0;
846 if (pcmd->cmdf & OLECMDF_ENABLED)
848 if (pcmd->cmdf & OLECMDF_LATCHED)
850 return SetState(pguidCmdGroup, commandID, state);
851}
#define TBSTATE_CHECKED
Definition: commctrl.h:972

Referenced by CommandStateChanged(), and SetState().

◆ ShowDW()

HRESULT STDMETHODCALLTYPE CInternetToolbar::ShowDW ( BOOL  fShow)
override

Implements IDockingWindow.

Definition at line 978 of file internettoolbar.cpp.

979{
980 HRESULT hResult;
981
982 // show the bar here
983 if (fShow)
984 {
985 hResult = ReserveBorderSpace();
986 if (FAILED_UNEXPECTEDLY(hResult))
987 return hResult;
988 }
989
990 // TODO: Why should showing the IDockingWindow change all bands? Related to CORE-17236 and CORE-19659.
991 int id;
992 IUnknown *pUnk;
993 for (UINT i = 0; SUCCEEDED(EnumBands(i, &id, &pUnk)); ++i)
994 {
995 if (!pUnk)
996 continue;
997 BOOL visible = fShow && IsBandVisible(id) != S_FALSE;
998 hResult = IUnknown_ShowDW(pUnk, visible);
999 FAILED_UNEXPECTEDLY(hResult);
1000 }
1001 return S_OK;
1002}
unsigned int BOOL
Definition: ntddk_ex.h:94
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HRESULT IUnknown_ShowDW(IUnknown *punk, BOOL fShow)

◆ ToggleBandVisibility()

HRESULT CInternetToolbar::ToggleBandVisibility ( int  BandID)

Definition at line 1217 of file internettoolbar.cpp.

1218{
1219 return SetBandVisibility(BandID, -1);
1220}

Referenced by Exec(), and OnContextMenu().

◆ TranslateAcceleratorIO()

HRESULT STDMETHODCALLTYPE CInternetToolbar::TranslateAcceleratorIO ( LPMSG  lpMsg)
override

Definition at line 943 of file internettoolbar.cpp.

944{
946
947 if (fMenuBar)
949 if (hr == S_OK)
950 return hr;
951
952 if (fControlsBar)
954 if (hr == S_OK)
955 return hr;
956
957 if (fNavigationBar)
959 if (hr == S_OK)
960 return hr;
961
962 return S_FALSE;
963}
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
Definition: ordinal.c:3692

◆ UIActivateIO()

HRESULT STDMETHODCALLTYPE CInternetToolbar::UIActivateIO ( BOOL  fActivate,
LPMSG  lpMsg 
)
override

Definition at line 916 of file internettoolbar.cpp.

917{
918 return E_NOTIMPL;
919}

◆ Unknown1()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Unknown1 ( )
override

Definition at line 1370 of file internettoolbar.cpp.

1371{
1372 return E_NOTIMPL;
1373}

Member Data Documentation

◆ fAdviseCookie

DWORD CInternetToolbar::fAdviseCookie

Definition at line 96 of file internettoolbar.h.

Referenced by CInternetToolbar(), and SetSite().

◆ fBandProxy

CComPtr<IBandProxy> CInternetToolbar::fBandProxy

Definition at line 97 of file internettoolbar.h.

Referenced by CreateAndInitBandProxy(), and QueryService().

◆ fCommandCategory

GUID CInternetToolbar::fCommandCategory

Definition at line 94 of file internettoolbar.h.

Referenced by OnForwardToCommandTarget(), OnMenuDropDown(), and SetCommandTarget().

◆ fCommandTarget

CComPtr<IOleCommandTarget> CInternetToolbar::fCommandTarget

Definition at line 93 of file internettoolbar.h.

Referenced by OnForwardToCommandTarget(), OnMenuDropDown(), and SetCommandTarget().

◆ fControlsBar

CComPtr<IUnknown> CInternetToolbar::fControlsBar

Definition at line 90 of file internettoolbar.h.

Referenced by CloseDW(), HasFocusIO(), InitNew(), and TranslateAcceleratorIO().

◆ fIgnoreChanges

BOOL CInternetToolbar::fIgnoreChanges

Definition at line 102 of file internettoolbar.h.

Referenced by CInternetToolbar(), Load(), and SetDirty().

◆ fLocked

bool CInternetToolbar::fLocked

Definition at line 85 of file internettoolbar.h.

◆ fLogoBar

CComPtr<IUnknown> CInternetToolbar::fLogoBar

Definition at line 89 of file internettoolbar.h.

Referenced by CloseDW(), InitNew(), and OnWinEvent().

◆ fMainReBar

◆ fMenuBandWindow

HWND CInternetToolbar::fMenuBandWindow

Definition at line 87 of file internettoolbar.h.

Referenced by CInternetToolbar(), and InitNew().

◆ fMenuBar

CComPtr<IShellMenu> CInternetToolbar::fMenuBar

◆ fMenuCallback

CComPtr<CMenuCallback> CInternetToolbar::fMenuCallback

Definition at line 92 of file internettoolbar.h.

Referenced by CInternetToolbar(), CreateMenuBar(), and ~CInternetToolbar().

◆ fNavigationBar

CComPtr<IUnknown> CInternetToolbar::fNavigationBar

Definition at line 91 of file internettoolbar.h.

Referenced by CloseDW(), HasFocusIO(), InitNew(), OnWinEvent(), and TranslateAcceleratorIO().

◆ fNavigationWindow

HWND CInternetToolbar::fNavigationWindow

Definition at line 88 of file internettoolbar.h.

Referenced by CInternetToolbar(), InitNew(), and OnContextMenu().

◆ fSite

◆ fSizing

BOOL CInternetToolbar::fSizing

Definition at line 98 of file internettoolbar.h.

Referenced by OnLDown(), OnLUp(), and OnMouseMove().

◆ fStartHeight

LONG CInternetToolbar::fStartHeight

Definition at line 100 of file internettoolbar.h.

Referenced by OnLDown(), and OnMouseMove().

◆ fStartPosition

POINT CInternetToolbar::fStartPosition

Definition at line 99 of file internettoolbar.h.

Referenced by OnLDown(), and OnMouseMove().

◆ fToolbarWindow

HWND CInternetToolbar::fToolbarWindow

◆ pSettings


The documentation for this class was generated from the following files: