ReactOS 0.4.16-dev-1028-g8602629
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_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 

Public Attributes

CComPtr< IUnknownfSite
 
HWND fMainReBar
 
bool fLocked
 
CComPtr< IShellMenufMenuBar
 
HWND fMenuBandWindow
 
HWND fNavigationWindow
 
CComPtr< IUnknownfLogoBar
 
CComPtr< IUnknownfControlsBar
 
CComPtr< IUnknownfNavigationBar
 
CComPtr< CMenuCallbackfMenuCallback
 
CComPtr< IOleCommandTargetfCommandTarget
 
GUID fCommandCategory
 
HWND fToolbarWindow
 
DWORD fAdviseCookie
 
CComPtr< IBandProxy > fBandProxy
 
BOOL fSizing
 
POINT fStartPosition
 
LONG fStartHeight
 
ShellSettingspSettings
 
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 IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IPersistStreamInit
typedef IPersistStreamInitLPPERSISTSTREAMINIT
 
- Public Types inherited from IPersist
typedef IPersistLPPERSIST
 
- 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 IOleCommandTargetLPOLECOMMANDTARGET
 
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 IDispatchLPDISPATCH
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 

Detailed Description

Definition at line 64 of file internettoolbar.h.

Constructor & Destructor Documentation

◆ CInternetToolbar()

CInternetToolbar::CInternetToolbar ( )

Definition at line 622 of file internettoolbar.cpp.

623{
629 fAdviseCookie = 0;
630 pSettings = NULL;
632}
ShellSettings * pSettings
CComPtr< CMenuCallback > fMenuCallback
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117

◆ ~CInternetToolbar()

CInternetToolbar::~CInternetToolbar ( )
virtual

Definition at line 634 of file internettoolbar.cpp.

635{
636}

Member Function Documentation

◆ AddBand()

HRESULT STDMETHODCALLTYPE CInternetToolbar::AddBand ( IUnknown punk)
override

Implements IBandSite.

Definition at line 1518 of file internettoolbar.cpp.

1519{
1521 return E_NOTIMPL;
1522}
#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 1360 of file internettoolbar.cpp.

1362{
1363 return E_NOTIMPL;
1364}

◆ AddButtons()

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

Definition at line 1321 of file internettoolbar.cpp.

1322{
1323 return E_NOTIMPL;
1324}

◆ AddDockItem()

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

Definition at line 638 of file internettoolbar.cpp.

639{
640 CComPtr<CDockSite> newSite;
641
642 newSite = new CComObject<CDockSite>;
643 newSite->Initialize(newItem, this, fMainReBar, bandID, flags);
644}
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 1326 of file internettoolbar.cpp.

1328{
1329 long result;
1330
1332 reinterpret_cast<WPARAM>(param10), reinterpret_cast<LPARAM>(param14));
1333 *param18 = result;
1334 if (result == -1)
1335 return E_FAIL;
1336 return S_OK;
1337}
#define E_FAIL
Definition: ddrawi.h:102
GLuint64EXT * result
Definition: glext.h:11304
#define S_OK
Definition: intsafe.h:52
#define TB_ADDSTRINGW
Definition: commctrl.h:1132
#define long
Definition: qsort.c:33
LONG_PTR LPARAM
Definition: windef.h:208
UINT_PTR WPARAM
Definition: windef.h:207
#define SendMessage
Definition: winuser.h:5863

◆ CloseDW()

HRESULT STDMETHODCALLTYPE CInternetToolbar::CloseDW ( DWORD  dwReserved)
override

Implements IDockingWindow.

Definition at line 950 of file internettoolbar.cpp.

951{
952 HRESULT hResult;
953
954 if (fMenuBar)
955 {
957 if (FAILED_UNEXPECTEDLY(hResult))
958 return hResult;
959 ReleaseCComPtrExpectZero(fMenuBar);
960 }
961 if (fControlsBar)
962 {
964 if (FAILED_UNEXPECTEDLY(hResult))
965 return hResult;
966 ReleaseCComPtrExpectZero(fControlsBar);
967 }
968 if (fNavigationBar)
969 {
971 if (FAILED_UNEXPECTEDLY(hResult))
972 return hResult;
973 ReleaseCComPtrExpectZero(fNavigationBar);
974 }
975 if (fLogoBar)
976 {
978 if (FAILED_UNEXPECTEDLY(hResult))
979 return hResult;
980 ReleaseCComPtrExpectZero(fLogoBar);
981 }
982
983 SetSite(NULL);
984 return S_OK;
985}
CComPtr< IUnknown > fNavigationBar
CComPtr< IUnknown > fLogoBar
CComPtr< IUnknown > fControlsBar
STDMETHOD() SetSite(IUnknown *pUnkSite) override
CComPtr< IShellMenu > fMenuBar
#define FAILED_UNEXPECTEDLY(hr)
Definition: debug.h:83
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 799 of file internettoolbar.cpp.

800{
801 HRESULT hResult;
802
803 hResult = S_OK;
804 switch (commandID)
805 {
806 case -1:
807 // loop through buttons
808 //for buttons in CLSID_CommonButtons
809 // if up, QueryStatus for up state and update it
810 //
811 //for buttons in fCommandCategory, update with QueryStatus of fCommandTarget
812
813 OLECMD commandList[4];
814 commandList[0].cmdID = 0x1c;
815 commandList[1].cmdID = 0x1d;
816 commandList[2].cmdID = 0x1e;
817 commandList[3].cmdID = 0x23;
818 IUnknown_QueryStatus(fSite, CGID_Explorer, 4, commandList, NULL);
819 SetState(&CLSID_CommonButtons, gSearchCommandID, &commandList[0]);
820 SetState(&CLSID_CommonButtons, gFoldersCommandID, &commandList[3]);
821 //SetState(&CLSID_CommonButtons, gFavoritesCommandID, &commandList[2]);
822 //SetState(&CLSID_CommonButtons, gHistoryCommandID, &commandList[1]);
823
824 break;
825 case 1:
826 // forward
827 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_FORWARD, newValue ? TBSTATE_ENABLED : 0);
828 break;
829 case 2:
830 // back
831 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_BACK, newValue ? TBSTATE_ENABLED : 0);
832 break;
833 case 3:
834 // up
835 hResult = SetState(&CLSID_CommonButtons, IDM_GOTO_UPONELEVEL, newValue ? TBSTATE_ENABLED : 0);
836 break;
837 }
838 return hResult;
839}
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:1048
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 919 of file internettoolbar.cpp.

920{
921 return E_NOTIMPL;
922}

◆ CreateAndInitBandProxy()

HRESULT CInternetToolbar::CreateAndInitBandProxy ( )

Definition at line 841 of file internettoolbar.cpp.

842{
843 CComPtr<IServiceProvider> serviceProvider;
844 HRESULT hResult;
845
846 hResult = fSite->QueryInterface(IID_PPV_ARG(IServiceProvider, &serviceProvider));
847 if (FAILED_UNEXPECTEDLY(hResult))
848 return hResult;
849 hResult = serviceProvider->QueryService(SID_IBandProxy, IID_PPV_ARG(IBandProxy, &fBandProxy));
850 if (FAILED_UNEXPECTEDLY(hResult))
851 {
852 hResult = CBandProxy_CreateInstance(IID_PPV_ARG(IBandProxy, &fBandProxy));
853 if (FAILED_UNEXPECTEDLY(hResult))
854 return hResult;
855 hResult = fBandProxy->SetSite(fSite);
856 if (FAILED_UNEXPECTEDLY(hResult))
857 return hResult;
858 }
859 return S_OK;
860}
HRESULT CBandProxy_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:42
CComPtr< IBandProxy > fBandProxy
#define IID_PPV_ARG(Itype, ppType)

Referenced by QueryService().

◆ CreateMenuBar()

HRESULT CInternetToolbar::CreateMenuBar ( IShellMenu **  menuBar)

Definition at line 691 of file internettoolbar.cpp.

692{
693 CComPtr<IShellMenu> menubar;
695 VARIANT menuOut;
696 HWND ownerWindow;
697 HRESULT hResult;
698
699 if (!pMenuBar)
700 return E_POINTER;
701
702 *pMenuBar = NULL;
703
704 hResult = CMenuBand_CreateInstance(IID_PPV_ARG(IShellMenu, &menubar));
705 if (FAILED_UNEXPECTEDLY(hResult))
706 return hResult;
707
708 hResult = fMenuCallback->QueryInterface(IID_PPV_ARG(IShellMenuCallback, &callback));
709 if (FAILED_UNEXPECTEDLY(hResult))
710 return hResult;
711
712 hResult = menubar->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL);
713 if (FAILED_UNEXPECTEDLY(hResult))
714 return hResult;
715
716 // Set Menu
717 {
718 hResult = IUnknown_Exec(fSite, CGID_Explorer, 0x35, 0, NULL, &menuOut);
719 if (FAILED_UNEXPECTEDLY(hResult))
720 return hResult;
721
722 if (V_VT(&menuOut) != VT_INT_PTR || V_INTREF(&menuOut) == NULL)
723 return E_FAIL;
724
725 hResult = IUnknown_GetWindow(fSite, &ownerWindow);
726 if (FAILED_UNEXPECTEDLY(hResult))
727 return hResult;
728
729 HMENU hMenuBar = (HMENU) V_INTREF(&menuOut);
730
731 // FIXME: Figure out the proper way to do this.
732 HMENU hMenuFavs = GetSubMenu(hMenuBar, 3);
733 if (hMenuFavs)
734 {
736 }
737
738 hResult = menubar->SetMenu(hMenuBar, ownerWindow, SMSET_DONTOWN);
739 if (FAILED_UNEXPECTEDLY(hResult))
740 return hResult;
741 }
742
743 hResult = IUnknown_Exec(menubar, CGID_MenuBand, 3, 1, NULL, NULL);
744 if (FAILED_UNEXPECTEDLY(hResult))
745 return hResult;
746
747 *pMenuBar = menubar.Detach();
748
749 return S_OK;
750}
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:1087
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1336
static IPrintDialogCallback callback
Definition: printdlg.c:326
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
#define V_VT(A)
Definition: oleauto.h:211
#define V_INTREF(A)
Definition: oleauto.h:252
#define CMenuBand_CreateInstance
Definition: shellmenu.h:81
#define CGID_MenuBand
#define E_POINTER
Definition: winerror.h:2365
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)

Referenced by InitNew().

◆ CreateToolsBar()

HRESULT CInternetToolbar::CreateToolsBar ( IUnknown **  toolsBar)

◆ EnumBands() [1/2]

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

Definition at line 646 of file internettoolbar.cpp.

647{
648 REBARBANDINFOW rbbi;
649 rbbi.cbSize = sizeof(rbbi);
650 rbbi.fMask = RBBIM_ID | RBBIM_LPARAM;
651 rbbi.cch = 0;
654 *pBandId = rbbi.wID;
655 if (!rbbi.lParam)
656 return E_UNEXPECTED;
657 *ppUnkBand = ((CDockSite*)(rbbi.lParam))->GetContainedBand(); // Not ref. counted
658 return *ppUnkBand ? S_OK : S_FALSE;
659}
#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
_In_ WDFCOLLECTION _In_ ULONG Index
#define S_FALSE
Definition: winerror.h:2357
#define E_UNEXPECTED
Definition: winerror.h:2456
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

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

◆ EnumBands() [2/2]

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

Implements IBandSite.

Definition at line 1524 of file internettoolbar.cpp.

1525{
1526 if (uBand == ~0ul)
1527 return ::SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0);
1528 int id;
1529 IUnknown *pUnkUnused;
1530 HRESULT hr = EnumBands(uBand, &id, &pUnkUnused);
1531 if (SUCCEEDED(hr))
1532 *pdwBandID = id;
1533 return hr;
1534}
HRESULT EnumBands(UINT Index, int *pBandId, IUnknown **ppUnkBand)
GLuint id
Definition: glext.h:5910
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define RB_GETBANDCOUNT
Definition: commctrl.h:1585
HRESULT hr
Definition: shlfolder.c:183

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 1221 of file internettoolbar.cpp.

1223{
1224 if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1225 {
1226 switch (nCmdID)
1227 {
1228 case 1:
1229 // what do I do here?
1230 return S_OK;
1231 case ITID_TEXTLABELS:
1232 // toggle text labels
1233 return S_OK;
1236 case ITID_MENUBANDSHOWN:
1241 // toggle links band visibility
1242 return S_OK;
1244 // run customize
1245 return S_OK;
1246 case ITID_TOOLBARLOCKED:
1248 }
1249 }
1250 return E_FAIL;
1251}
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:904
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:902
#define ITBBID_ADDRESSBAND
Definition: undocshell.h:896
#define ITBBID_TOOLSBAND
Definition: undocshell.h:895
#define ITID_TEXTLABELS
Definition: undocshell.h:901
#define ITID_MENUBANDSHOWN
Definition: undocshell.h:905
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:907
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:903
#define ITID_TOOLBARLOCKED
Definition: undocshell.h:908
#define ITBBID_MENUBAND
Definition: undocshell.h:893

Referenced by OnMenuDropDown().

◆ GetBandObject()

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

Implements IBandSite.

Definition at line 1561 of file internettoolbar.cpp.

1562{
1564 return E_NOTIMPL;
1565}

◆ GetBandSiteInfo()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBandSiteInfo ( BANDSITEINFO pbsinfo)
override

Implements IBandSite.

Definition at line 1573 of file internettoolbar.cpp.

1574{
1576 return E_NOTIMPL;
1577}

◆ GetBitmapSize()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBitmapSize ( long paramC)
override

Definition at line 1366 of file internettoolbar.cpp.

1367{
1368 if (paramC == NULL)
1369 return E_POINTER;
1370 *paramC = MAKELONG(24, 24);
1371 return S_OK;
1372}
#define MAKELONG(a, b)
Definition: typedefs.h:249

◆ GetButton()

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

Definition at line 1339 of file internettoolbar.cpp.

1340{
1341 return E_NOTIMPL;
1342}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 1022 of file internettoolbar.cpp.

1023{
1024 if (pClassID == NULL)
1025 return E_POINTER;
1026 *pClassID = CLSID_InternetToolbar;
1027 return S_OK;
1028}

◆ GetIDsOfNames()

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

Implements IDispatch.

Definition at line 1263 of file internettoolbar.cpp.

1265{
1266 return E_NOTIMPL;
1267}

◆ GetSite()

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

Definition at line 1454 of file internettoolbar.cpp.

1455{
1456 if (ppvSite == NULL)
1457 return E_POINTER;
1458 if (fSite.p != NULL)
1459 return fSite->QueryInterface(riid, ppvSite);
1460 *ppvSite = NULL;
1461 return S_OK;
1462}
REFIID riid
Definition: atlbase.h:39

◆ GetSizeMax()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetSizeMax ( ULARGE_INTEGER pcbSize)
override

Implements IPersistStreamInit.

Definition at line 1076 of file internettoolbar.cpp.

1077{
1078 return E_NOTIMPL;
1079}

◆ GetState()

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

Definition at line 1344 of file internettoolbar.cpp.

1345{
1346 if (theState == NULL)
1347 return E_POINTER;
1348 // map the command id
1349 *theState = (long)::SendMessage(fToolbarWindow, TB_GETSTATE, commandID, 0);
1350 return S_OK;
1351}
#define TB_GETSTATE
Definition: commctrl.h:1055

◆ GetStream()

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

Definition at line 2018 of file internettoolbar.cpp.

2019{
2021 LPCWSTR subkey = NULL;
2022 switch (StreamFor)
2023 {
2024 case ITBARSTREAM_SHELLBROWSER: subkey = L"ShellBrowser"; break;
2025 case ITBARSTREAM_WEBBROWSER: subkey = L"WebBrowser"; break;
2026 case ITBARSTREAM_EXPLORER: subkey = L"Explorer"; break;
2027 default: return E_INVALIDARG;
2028 }
2029 wsprintfW(path, L"Software\\Microsoft\\Internet Explorer\\Toolbar\\%s", subkey);
2030 *ppS = SHOpenRegStream2W(HKEY_CURRENT_USER, path, L"RosITBarLayout", Stgm); // ROS prefix until we figure out the correct format
2031 return *ppS ? S_OK : E_FAIL;
2032}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define MAX_PATH
Definition: compat.h:34
#define ITBARSTREAM_EXPLORER
#define ITBARSTREAM_SHELLBROWSER
#define ITBARSTREAM_WEBBROWSER
#define L(x)
Definition: ntvdm.h:50
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD dwMode)
Definition: regstream.c:537
#define HKEY_CURRENT_USER
Definition: winreg.h:11
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
__wchar_t WCHAR
Definition: xmlstorage.h:180
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

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

◆ GetTypeInfo()

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

Implements IDispatch.

Definition at line 1258 of file internettoolbar.cpp.

1259{
1260 return E_NOTIMPL;
1261}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetTypeInfoCount ( UINT pctinfo)
override

Implements IDispatch.

Definition at line 1253 of file internettoolbar.cpp.

1254{
1255 return E_NOTIMPL;
1256}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CInternetToolbar::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 911 of file internettoolbar.cpp.

912{
913 if (lphwnd == NULL)
914 return E_POINTER;
915 *lphwnd = m_hWnd;
916 return S_OK;
917}

◆ HasFocusIO()

HRESULT STDMETHODCALLTYPE CInternetToolbar::HasFocusIO ( )
override

Definition at line 867 of file internettoolbar.cpp.

868{
870
871 if (fMenuBar)
873 if (hr != S_FALSE)
874 return hr;
875
876 if (fControlsBar)
878 if (hr != S_FALSE)
879 return hr;
880
881 if (fNavigationBar)
883 if (hr != S_FALSE)
884 return hr;
885
886 return S_FALSE;
887}
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *lpUnknown)
Definition: ordinal.c:4332

◆ InitNew()

HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew ( void  )
override

Implements IPersistStreamInit.

Definition at line 1081 of file internettoolbar.cpp.

1082{
1083 CComPtr<IShellMenu> menuBar;
1084 CComPtr<IUnknown> logoBar;
1085 CComPtr<IUnknown> toolsBar;
1086 CComPtr<IUnknown> navigationBar;
1087 HRESULT hResult;
1088
1089 /* Create and attach the menubar to the rebar */
1090 hResult = CreateMenuBar(&menuBar);
1091 if (FAILED_UNEXPECTEDLY(hResult))
1092 return hResult;
1094
1095 hResult = IUnknown_GetWindow(menuBar, &fMenuBandWindow);
1096 fMenuBar.Attach(menuBar.Detach()); // transfer the ref count
1097
1098 // FIXME: The ROS Rebar does not properly support fixed-size items such as the brandband,
1099 // and it will put them in their own row, sized to take up the whole row.
1100#if 0
1101 /* Create and attach the brand/logo to the rebar */
1102 hResult = CBrandBand_CreateInstance(IID_PPV_ARG(IUnknown, &logoBar));
1103 if (FAILED_UNEXPECTEDLY(hResult))
1104 return hResult;
1106 fLogoBar.Attach(logoBar.Detach()); // transfer the ref count
1107#endif
1108
1109 /* Create and attach the standard toolbar to the rebar */
1110 hResult = CToolsBand_CreateInstance(IID_PPV_ARG(IUnknown, &toolsBar));
1111 if (FAILED_UNEXPECTEDLY(hResult))
1112 return hResult;
1114 fControlsBar.Attach(toolsBar.Detach()); // transfer the ref count
1116 if (FAILED_UNEXPECTEDLY(hResult))
1117 return hResult;
1118
1119 /* Create and attach the address/navigation toolbar to the rebar */
1120 hResult = CAddressBand_CreateInstance(IID_PPV_ARG(IUnknown, &navigationBar));
1121 if (FAILED_UNEXPECTEDLY(hResult))
1122 return hResult;
1124 fNavigationBar.Attach(navigationBar.Detach());
1126
1127 return S_OK;
1128}
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:894

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 1269 of file internettoolbar.cpp.

1271{
1272 HRESULT hResult;
1273
1274 switch(dispIdMember)
1275 {
1277 hResult = S_OK;
1278 break;
1280 hResult = S_OK;
1281 break;
1283 if (pDispParams->cArgs != 2)
1284 return E_INVALIDARG;
1285 if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL || V_VT(&pDispParams->rgvarg[1]) != VT_I4)
1286 return E_INVALIDARG;
1287 return CommandStateChanged(V_BOOL(&pDispParams->rgvarg[0]) != VARIANT_FALSE,
1288 V_I4(&pDispParams->rgvarg[1]));
1290 hResult = S_OK;
1291 break;
1293 hResult = S_OK;
1294 break;
1296 hResult = S_OK;
1297 break;
1298 }
1299 return S_OK;
1300}
HRESULT CommandStateChanged(bool newValue, int commandID)
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_I4(A)
Definition: oleauto.h:247
#define DISPID_NAVIGATECOMPLETE2
Definition: webchild.h:54
#define DISPID_BEFORENAVIGATE
Definition: webchild.h:35
#define DISPID_COMMANDSTATECHANGE
Definition: webchild.h:40
#define DISPID_DOWNLOADCOMPLETE
Definition: webchild.h:39
#define DISPID_DOWNLOADBEGIN
Definition: webchild.h:41
#define DISPID_DOCUMENTCOMPLETE
Definition: webchild.h:61

◆ IsBandVisible()

HRESULT CInternetToolbar::IsBandVisible ( int  BandID)

Definition at line 1130 of file internettoolbar.cpp.

1131{
1132 int index = (int)SendMessage(fMainReBar, RB_IDTOINDEX, BandID, 0);
1133
1136
1137 return (bandInfo.fStyle & RBBS_HIDDEN) ? S_FALSE : S_OK;
1138}
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 1038 of file internettoolbar.cpp.

1039{
1040 return E_NOTIMPL;
1041}

◆ IsWindowOwner()

HRESULT STDMETHODCALLTYPE CInternetToolbar::IsWindowOwner ( HWND  hWnd)
override

Definition at line 1512 of file internettoolbar.cpp.

1513{
1515 return E_NOTIMPL;
1516}

◆ Load()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Load ( IStream pStm)
override

Definition at line 1043 of file internettoolbar.cpp.

1044{
1046 HRESULT hr = InitNew();
1048 if (SUCCEEDED(hr))
1049 {
1050 hr = S_FALSE;
1051 ULONG cb = sizeof(state);
1052 if (pStm->Read(&state, cb, &cb) == S_OK && state.Signature == state.SIG)
1053 {
1057 //SetBandVisibility(ITBBID_?, state.Linksbar);
1058 //SetBandVisibility(ITBBID_?, state.Throbber);
1059 hr = S_OK;
1060 }
1061 }
1063 return hr;
1064}
static int state
Definition: maze.c:121
STDMETHOD() InitNew() override
HRESULT SetBandVisibility(int BandID, int Show)
#define TRUE
Definition: types.h:120
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
uint32_t ULONG
Definition: typedefs.h:59

◆ LockUnlockToolbars()

HRESULT CInternetToolbar::LockUnlockToolbars ( bool  locked)

Definition at line 752 of file internettoolbar.cpp.

753{
754 if (locked != !!pSettings->fLocked)
755 {
756 pSettings->fLocked = (BOOL)locked;
757 pSettings->Save();
759 }
760 return S_OK;
761}
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 1393 of file internettoolbar.cpp.

1394{
1395 return E_NOTIMPL;
1396}

◆ OnChange()

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

Definition at line 1398 of file internettoolbar.cpp.

1399{
1400 return E_NOTIMPL;
1401}

◆ OnCommand()

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

Definition at line 1902 of file internettoolbar.cpp.

1903{
1904 LRESULT theResult;
1905 HRESULT hResult;
1906
1907 hResult = OnWinEvent((HWND) lParam, uMsg, wParam, lParam, &theResult);
1908
1909 bHandled = hResult == S_OK;
1910
1911 return FAILED_UNEXPECTEDLY(hResult) ? 0 : theResult;
1912}
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: windef.h:209

◆ OnContextMenu()

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

Definition at line 1752 of file internettoolbar.cpp.

1753{
1754 HMENU contextMenuBar;
1755 HMENU contextMenu;
1756 POINT clickLocation;
1757 int command;
1758 RBHITTESTINFO hitTestInfo;
1759 REBARBANDINFOW rebarBandInfo;
1760 int bandID;
1761 CComPtr<IAddressBand> pAddress;
1762
1763 clickLocation.x = LOWORD(lParam);
1764 clickLocation.y = HIWORD(lParam);
1765 hitTestInfo.pt = clickLocation;
1766 ScreenToClient(&hitTestInfo.pt);
1767 SendMessage(fMainReBar, RB_HITTEST, 0, (LPARAM)&hitTestInfo);
1768 if (hitTestInfo.iBand == -1)
1769 return 0;
1770
1771 rebarBandInfo.cbSize = sizeof(rebarBandInfo);
1772 rebarBandInfo.fMask = RBBIM_ID;
1773 SendMessage(fMainReBar, RB_GETBANDINFOW, hitTestInfo.iBand, (LPARAM)&rebarBandInfo);
1774 bandID = rebarBandInfo.wID;
1775 contextMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU));
1776 contextMenu = GetSubMenu(contextMenuBar, 0);
1777 switch (bandID)
1778 {
1779 case ITBBID_MENUBAND: // menu band
1783 break;
1784 case ITBBID_BRANDBAND: // brand band
1788 break;
1789 case ITBBID_TOOLSBAND: // tools band
1792 break;
1793 case ITBBID_ADDRESSBAND: // navigation band
1796 QIBand(ITBBID_ADDRESSBAND, IID_PPV_ARG(IAddressBand, &pAddress));
1798 break;
1799 default:
1800 break;
1801 }
1802
1804
1811
1812 // TODO: use GetSystemMetrics(SM_MENUDROPALIGNMENT) to determine menu alignment
1814 clickLocation.x, clickLocation.y, 0, m_hWnd, NULL);
1815 switch (command)
1816 {
1817 case IDM_TOOLBARS_STANDARDBUTTONS: // standard buttons
1819 break;
1820 case IDM_TOOLBARS_ADDRESSBAR: // address bar
1822 break;
1823 case IDM_TOOLBARS_LINKSBAR: // links
1824 break;
1825 case IDM_TOOLBARS_LOCKTOOLBARS: // lock the toolbars
1827 break;
1828 case IDM_TOOLBARS_CUSTOMIZE: // customize
1830 break;
1833 break;
1834 }
1835
1836 DestroyMenu(contextMenuBar);
1837 return 1;
1838}
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:1800
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
Definition: ordinal.c:1781
#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
BOOL fShowGoButton
Definition: settings.h:16
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
#define HIWORD(l)
Definition: typedefs.h:247
#define TPM_RIGHTBUTTON
Definition: winuser.h:2391
#define WM_COMMAND
Definition: winuser.h:1751
#define TPM_TOPALIGN
Definition: winuser.h:2394
#define TPM_LEFTALIGN
Definition: winuser.h:2388
#define LoadMenu
Definition: winuser.h:5837
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:2398
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)

◆ OnFolders()

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

Definition at line 1615 of file internettoolbar.cpp.

1616{
1617 IUnknown_Exec(fSite, CGID_Explorer, 0x23, 0, NULL, NULL);
1618 return 1;
1619}

◆ OnForwardToCommandTarget()

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

Definition at line 1621 of file internettoolbar.cpp.

1622{
1623 HRESULT hResult;
1624
1625 if (fCommandTarget.p != NULL)
1626 {
1627 hResult = fCommandTarget->Exec(&fCommandCategory, wID, 0, NULL, NULL);
1628 if (FAILED(hResult))
1629 {
1630 ::SendMessageW(::GetParent(m_hWnd), WM_COMMAND, wID, 0);
1631 }
1632 }
1633 return 1;
1634}
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 1928 of file internettoolbar.cpp.

1929{
1930 bHandled = FALSE;
1931 if (pSettings->fLocked)
1932 return 0;
1933
1934 if (wParam & MK_CONTROL)
1935 return 0;
1936
1937 fSizing = TRUE;
1938
1939 DWORD msgp = GetMessagePos();
1940
1943
1944 RECT rc;
1945 GetWindowRect(&rc);
1946
1947 fStartHeight = rc.bottom - rc.top;
1948
1949 SetCapture();
1950
1951 bHandled = TRUE;
1952 return 0;
1953}
unsigned long DWORD
Definition: ntddk_ex.h:95
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
#define GET_Y_LPARAM(lp)
Definition: windowsx.h:300
#define GET_X_LPARAM(lp)
Definition: windowsx.h:299
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:2381

◆ OnLUp()

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

Definition at line 1973 of file internettoolbar.cpp.

1974{
1975 bHandled = FALSE;
1976 if (!fSizing)
1977 return 0;
1978
1979 OnMouseMove(uMsg, wParam, lParam, bHandled);
1980
1981 fSizing = FALSE;
1982
1984
1985 return 0;
1986}
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 1636 of file internettoolbar.cpp.

1637{
1638 CComPtr<IBrowserService> browserService;
1639 CComPtr<IOleCommandTarget> commandTarget;
1640 CComPtr<ITravelLog> travelLog;
1641 NMTOOLBARW *notifyInfo;
1642 RECT bounds;
1643 HMENU newMenu;
1645 int selectedItem;
1646 VARIANT parmIn;
1647 OLECMD commandInfo;
1648 HRESULT hResult;
1649 wchar_t templateString[200];
1650
1651 notifyInfo = (NMTOOLBARW *)pNMHDR;
1652 if (notifyInfo->hdr.hwndFrom != fToolbarWindow)
1653 {
1654 // not from the toolbar, keep looking for a message handler
1655 bHandled = FALSE;
1656 return 0;
1657 }
1658 SendMessage(fToolbarWindow, TB_GETRECT, notifyInfo->iItem, reinterpret_cast<LPARAM>(&bounds));
1659 ::MapWindowPoints(fToolbarWindow, NULL, reinterpret_cast<POINT *>(&bounds), 2);
1660 switch (notifyInfo->iItem)
1661 {
1662 case IDM_GOTO_BACK:
1663 newMenu = CreatePopupMenu();
1665 hResult = browserService->GetTravelLog(&travelLog);
1666 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_BACK);
1667 commandInfo.cmdID = 0x1d;
1668 hResult = IUnknown_QueryStatus(browserService, CGID_Explorer, 1, &commandInfo, NULL);
1669 if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED &&
1670 travelLog->CountEntries(browserService) > 1)
1671 {
1672 AppendMenuW(newMenu, MF_SEPARATOR, -1, L"");
1673
1674 if (LoadStringW(_AtlBaseModule.GetResourceInstance(),
1675 IDS_HISTORYTEXT, templateString, sizeof(templateString) / sizeof(wchar_t)) == 0)
1676 StringCbCopyW(templateString, sizeof(templateString), L"&History\tCtrl+H");
1677
1678 AppendMenuW(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, templateString);
1679 }
1680 params.cbSize = sizeof(params);
1681 params.rcExclude = bounds;
1682 selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD,
1683 bounds.left, bounds.bottom, m_hWnd, &params);
1684 if (selectedItem == IDM_EXPLORERBAR_HISTORY)
1685 {
1686 V_VT(&parmIn) = VT_I4;
1687 V_I4(&parmIn) = 1;
1688 Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL);
1689 }
1690 else if (selectedItem != 0)
1691 hResult = travelLog->Travel(browserService, -selectedItem);
1692 DestroyMenu(newMenu);
1693 break;
1694 case IDM_GOTO_FORWARD:
1695 newMenu = CreatePopupMenu();
1697 hResult = browserService->GetTravelLog(&travelLog);
1698 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_FORE);
1699 commandInfo.cmdID = 0x1d;
1700 hResult = IUnknown_QueryStatus(browserService, CGID_Explorer, 1, &commandInfo, NULL);
1701 if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED &&
1702 travelLog->CountEntries(browserService) > 1)
1703 {
1704 AppendMenuW(newMenu, MF_SEPARATOR, -1, L"");
1705
1706 if (LoadStringW(_AtlBaseModule.GetResourceInstance(),
1707 IDS_HISTORYTEXT, templateString, sizeof(templateString) / sizeof(wchar_t)) == 0)
1708 StringCbCopyW(templateString, sizeof(templateString), L"&History\tCtrl+H");
1709
1710 AppendMenuW(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, templateString);
1711 }
1712 params.cbSize = sizeof(params);
1713 params.rcExclude = bounds;
1714 selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD,
1715 bounds.left, bounds.bottom, m_hWnd, &params);
1716 if (selectedItem == IDM_EXPLORERBAR_HISTORY)
1717 {
1718 V_VT(&parmIn) = VT_I4;
1719 V_I4(&parmIn) = 1;
1720 Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL);
1721 }
1722 else if (selectedItem != 0)
1723 hResult = travelLog->Travel(browserService, selectedItem);
1724 DestroyMenu(newMenu);
1725 break;
1726 case gViewsCommandID:
1727 VARIANT inValue;
1728 CComVariant outValue;
1729 HRESULT hResult;
1730
1731 V_VT(&inValue) = VT_INT_PTR;
1732 V_INTREF(&inValue) = reinterpret_cast<INT *>(&bounds);
1733
1734 if (fCommandTarget.p != NULL)
1735 hResult = fCommandTarget->Exec(&fCommandCategory, FCIDM_SHVIEW_AUTOARRANGE, 1, &inValue, &outValue);
1736 // pvaOut is VT_I4 with value 0x403
1737 break;
1738 }
1739 return TBDDRET_DEFAULT;
1740}
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 *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1501
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
#define SID_SShellBrowser
Definition: shlguid.h:128
#define TLMENUF_BACK
Definition: shlobj.h:2750
#define TLMENUF_FORE
Definition: shlobj.h:2751
#define FCIDM_SHVIEW_AUTOARRANGE
Definition: shresdef.h:869
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:166
HWND hwndFrom
Definition: winuser.h:3168
LONG left
Definition: windef.h:306
int32_t INT
Definition: typedefs.h:58
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:838
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#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)

◆ OnMouseMove()

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

Definition at line 1955 of file internettoolbar.cpp.

1956{
1957 bHandled = FALSE;
1958 if (!fSizing)
1959 return 0;
1960
1961 DWORD msgp = GetMessagePos();
1962
1963 POINT pt;
1964 pt.x = GET_X_LPARAM(msgp);
1965 pt.y = GET_Y_LPARAM(msgp);
1966
1968
1969 bHandled = TRUE;
1970 return 0;
1971}
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 1913 of file internettoolbar.cpp.

1914{
1915 NMHDR *notifyHeader;
1916 LRESULT theResult;
1917 HRESULT hResult;
1918
1919 notifyHeader = reinterpret_cast<NMHDR *>(lParam);
1920
1921 hResult = OnWinEvent(notifyHeader->hwndFrom, uMsg, wParam, lParam, &theResult);
1922
1923 bHandled = hResult == S_OK;
1924
1925 return FAILED_UNEXPECTEDLY(hResult) ? 0 : theResult;
1926}

◆ OnQueryDelete()

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

Definition at line 1747 of file internettoolbar.cpp.

1748{
1749 return 1;
1750}

◆ OnQueryInsert()

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

Definition at line 1742 of file internettoolbar.cpp.

1743{
1744 return 1;
1745}

◆ OnSearch()

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

Definition at line 1609 of file internettoolbar.cpp.

1610{
1611 IUnknown_Exec(fSite, CGID_Explorer, 0x1c, 1, NULL, NULL);
1612 return 1;
1613}

◆ OnSetCursor()

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

Definition at line 1850 of file internettoolbar.cpp.

1851{
1852 if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd)
1853 {
1854 bHandled = FALSE;
1855 return 0;
1856 }
1858 return 1;
1859}
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
#define IDC_SIZENS
Definition: winuser.h:703
#define HTCLIENT
Definition: winuser.h:2486
#define LoadCursor
Definition: winuser.h:5832

◆ OnSettingsChange()

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

Definition at line 2010 of file internettoolbar.cpp.

2011{
2012 /* Refresh toolbar locked state */
2014
2015 return 0;
2016}

◆ OnSize()

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

Definition at line 1840 of file internettoolbar.cpp.

1841{
1842 if (wParam != SIZE_MINIMIZED)
1843 {
1846 }
1847 return 1;
1848}
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:2517
#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 1861 of file internettoolbar.cpp.

1862{
1863 CComPtr<IBrowserService> browserService;
1864 CComPtr<ITravelLog> travelLog;
1865 TOOLTIPTEXTW *pTTTW;
1866 UINT nID;
1867 HRESULT hResult;
1868 wchar_t tempString[300];
1869
1870 pTTTW = reinterpret_cast<TOOLTIPTEXTW *>(pNMHDR);
1871 if ((pTTTW->uFlags & TTF_IDISHWND) != 0)
1872 nID = ::GetDlgCtrlID((HWND)pNMHDR->idFrom);
1873 else
1874 nID = (UINT)pNMHDR->idFrom;
1875
1876 if (nID != 0)
1877 {
1878 if (nID == (UINT)IDM_GOTO_BACK || nID == (UINT)IDM_GOTO_FORWARD)
1879 {
1880 // TODO: Should this call QueryService?
1881 hResult = fSite->QueryInterface(IID_PPV_ARG(IBrowserService, &browserService));
1882 hResult = browserService->GetTravelLog(&travelLog);
1883 hResult = travelLog->GetToolTipText(browserService,
1884 (nID == (UINT)IDM_GOTO_BACK) ? TLOG_BACK : TLOG_FORE,
1885 0, tempString, 299);
1886 if (FAILED_UNEXPECTEDLY(hResult))
1887 {
1888 bHandled = FALSE;
1889 return 0;
1890 }
1891 }
1892 else
1893 tempString[0] = 0;
1894 wcsncpy (pTTTW->szText, tempString, sizeof(pTTTW->szText) / sizeof(wchar_t));
1895 ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0,
1897 return 0;
1898 }
1899 return 0;
1900}
wcsncpy
if(dx< 0)
Definition: linetemp.h:194
unsigned int UINT
Definition: ndis.h:50
#define TOOLTIPTEXTW
Definition: commctrl.h:1889
#define TTF_IDISHWND
Definition: commctrl.h:1764
#define TLOG_FORE
Definition: shlobj.h:2746
#define TLOG_BACK
Definition: shlobj.h:2745
UINT_PTR idFrom
Definition: winuser.h:3169
#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)

◆ OnTravelBack()

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

Definition at line 1579 of file internettoolbar.cpp.

1580{
1581 CComPtr<IWebBrowser> webBrowser;
1582 HRESULT hResult;
1583
1584 hResult = IUnknown_QueryService(fSite, SID_SShellBrowser, IID_PPV_ARG(IWebBrowser, &webBrowser));
1585 if (FAILED_UNEXPECTEDLY(hResult))
1586 return 0;
1587 hResult = webBrowser->GoBack();
1588 return 1;
1589}

◆ OnTravelForward()

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

Definition at line 1591 of file internettoolbar.cpp.

1592{
1593 CComPtr<IWebBrowser> webBrowser;
1594 HRESULT hResult;
1595
1596 hResult = IUnknown_QueryService(fSite, SID_SShellBrowser, IID_PPV_ARG(IWebBrowser, &webBrowser));
1597 if (FAILED_UNEXPECTEDLY(hResult))
1598 return 0;
1599 hResult = webBrowser->GoForward();
1600 return 1;
1601}

◆ OnUpLevel()

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

Definition at line 1603 of file internettoolbar.cpp.

1604{
1605 IUnknown_Exec(fSite, CGID_ShellBrowser, IDM_GOTO_UPONELEVEL, 0, NULL, NULL);
1606 return 1;
1607}

◆ OnWinEvent()

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

Definition at line 1483 of file internettoolbar.cpp.

1485{
1486 HRESULT hResult;
1487
1488 if (fMenuBar)
1489 {
1490 hResult = IUnknown_RelayWinEvent(fMenuBar, hWnd, uMsg, wParam, lParam, theResult);
1491 if (hResult != S_FALSE)
1492 return hResult;
1493 }
1494
1495 if (fNavigationBar)
1496 {
1497 hResult = IUnknown_RelayWinEvent(fNavigationBar, hWnd, uMsg, wParam, lParam, theResult);
1498 if (hResult != S_FALSE)
1499 return hResult;
1500 }
1501
1502 if (fLogoBar)
1503 {
1504 hResult = IUnknown_RelayWinEvent(fLogoBar, hWnd, uMsg, wParam, lParam, theResult);
1505 if (hResult != S_FALSE)
1506 return hResult;
1507 }
1508
1509 return S_FALSE;
1510}
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 1988 of file internettoolbar.cpp.

1989{
1990 HRESULT hr;
1991 HWND hwndMenu;
1992
1993 hr = IUnknown_GetWindow(fMenuBar, &hwndMenu);
1995 return 0;
1996
1997 CComPtr<IWinEventHandler> menuWinEventHandler;
1998 hr = fMenuBar->QueryInterface(IID_PPV_ARG(IWinEventHandler, &menuWinEventHandler));
2000 return 0;
2001
2002 LRESULT lres;
2003 hr = menuWinEventHandler->OnWinEvent(hwndMenu, uMsg, wParam, lParam, &lres);
2005 return 0;
2006
2007 return lres;
2008}

◆ QIBand()

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

Definition at line 661 of file internettoolbar.cpp.

662{
663 IUnknown *pUnk; // Not ref. counted
664 int temp = (UINT) SendMessageW(fMainReBar, RB_IDTOINDEX, BandID, 0);
665 if (EnumBands(temp, &temp, &pUnk) == S_OK)
666 return pUnk->QueryInterface(riid, ppv);
667 *ppv = NULL;
668 return E_NOINTERFACE;
669}
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
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:2364

Referenced by OnContextMenu().

◆ QueryBand()

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

Implements IBandSite.

Definition at line 1536 of file internettoolbar.cpp.

1538{
1539 if (ppstb == NULL)
1540 return E_POINTER;
1541 if (dwBandID == ITBBID_MENUBAND && fMenuBar.p != NULL)
1542 return fMenuBar->QueryInterface(IID_PPV_ARG(IDeskBand, ppstb));
1543 //if (dwBandID == ITBBID_BRANDBAND && fLogoBar.p != NULL)
1544 // return fLogoBar->QueryInterface(IID_PPV_ARG(IDeskBand, ppstb));
1545 *ppstb = NULL;
1546 return E_FAIL;
1547}

◆ QueryService()

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

Implements IServiceProvider.

Definition at line 1464 of file internettoolbar.cpp.

1465{
1466 HRESULT hResult;
1467
1468 if (IsEqualIID(guidService, IID_IBandSite))
1469 return this->QueryInterface(riid, ppvObject);
1470 if (IsEqualIID(guidService, SID_IBandProxy))
1471 {
1472 if (fBandProxy.p == NULL)
1473 {
1474 hResult = CreateAndInitBandProxy();
1475 if (FAILED_UNEXPECTEDLY(hResult))
1476 return hResult;
1477 }
1478 return fBandProxy->QueryInterface(riid, ppvObject);
1479 }
1480 return IUnknown_QueryService(fSite, guidService, riid, ppvObject);
1481}
HRESULT CreateAndInitBandProxy()
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082

Referenced by CDockSite::QueryService().

◆ QueryStatus()

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

Implements IOleCommandTarget.

Definition at line 1168 of file internettoolbar.cpp.

1170{
1171 if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1172 {
1173 while (cCmds != 0)
1174 {
1175 switch (prgCmds->cmdID)
1176 {
1177 case ITID_TEXTLABELS: // Text Labels state
1178 prgCmds->cmdf = OLECMDF_SUPPORTED;
1179 break;
1180 case ITID_TOOLBARBANDSHOWN: // toolbar visibility
1181 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1183 prgCmds->cmdf |= OLECMDF_LATCHED;
1184 break;
1185 case ITID_ADDRESSBANDSHOWN: // address bar visibility
1186 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1188 prgCmds->cmdf |= OLECMDF_LATCHED;
1189 break;
1190 case ITID_LINKSBANDSHOWN: // links bar visibility
1191 prgCmds->cmdf = 0;
1192 break;
1193 case ITID_MENUBANDSHOWN: // Menubar band visibility
1194 prgCmds->cmdf = OLECMDF_SUPPORTED;
1196 prgCmds->cmdf |= OLECMDF_LATCHED;
1197 break;
1198 case ITID_AUTOHIDEENABLED: // Auto hide enabled/disabled
1199 prgCmds->cmdf = 0;
1200 break;
1201 case ITID_CUSTOMIZEENABLED: // customize enabled
1202 prgCmds->cmdf = OLECMDF_SUPPORTED;
1203 break;
1204 case ITID_TOOLBARLOCKED: // lock toolbars
1205 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
1206 if (pSettings->fLocked)
1207 prgCmds->cmdf |= OLECMDF_LATCHED;
1208 break;
1209 default:
1210 prgCmds->cmdf = 0;
1211 break;
1212 }
1213 prgCmds++;
1214 cCmds--;
1215 }
1216 return S_OK;
1217 }
1218 return E_FAIL;
1219}
#define ITID_AUTOHIDEENABLED
Definition: undocshell.h:906

◆ RefreshLockedToolbarState()

void CInternetToolbar::RefreshLockedToolbarState ( )

Definition at line 763 of file internettoolbar.cpp.

764{
765 REBARBANDINFOW rebarBandInfo;
766 int bandCount;
767 CDockSite *dockSite;
768
769 rebarBandInfo.cbSize = sizeof(rebarBandInfo);
770 rebarBandInfo.fMask = RBBIM_STYLE | RBBIM_LPARAM;
771 bandCount = (int)SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0);
772 for (INT x = 0; x < bandCount; x++)
773 {
774 SendMessage(fMainReBar, RB_GETBANDINFOW, x, (LPARAM)&rebarBandInfo);
775 dockSite = reinterpret_cast<CDockSite *>(rebarBandInfo.lParam);
776 if (dockSite != NULL)
777 {
778 rebarBandInfo.fStyle &= ~(RBBS_NOGRIPPER | RBBS_GRIPPERALWAYS);
779 if ((dockSite->fFlags & CDockSite::ITF_NOGRIPPER) || pSettings->fLocked)
780 rebarBandInfo.fStyle |= RBBS_NOGRIPPER;
782 rebarBandInfo.fStyle |= RBBS_GRIPPERALWAYS;
783 SendMessage(fMainReBar, RB_SETBANDINFOW, x, (LPARAM)&rebarBandInfo);
784 }
785 }
787}
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 1555 of file internettoolbar.cpp.

1556{
1558 return E_NOTIMPL;
1559}

◆ ReserveBorderSpace()

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

Definition at line 671 of file internettoolbar.cpp.

672{
673 CComPtr<IDockingWindowSite> dockingWindowSite;
674 RECT availableBorderSpace;
675
676 HRESULT hResult = fSite->QueryInterface(IID_PPV_ARG(IDockingWindowSite, &dockingWindowSite));
677 if (FAILED_UNEXPECTEDLY(hResult))
678 return hResult;
679 hResult = dockingWindowSite->GetBorderDW(static_cast<IDockingWindow *>(this), &availableBorderSpace);
680 if (FAILED_UNEXPECTEDLY(hResult))
681 return hResult;
682
683 if (maxHeight && availableBorderSpace.bottom - availableBorderSpace.top > maxHeight)
684 {
685 availableBorderSpace.bottom = availableBorderSpace.top + maxHeight;
686 }
687
688 return ResizeBorderDW(&availableBorderSpace, fSite, FALSE);
689}
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 987 of file internettoolbar.cpp.

989{
990 RECT neededBorderSpace;
991 RECT availableBorderSpace = *prcBorder;
992
993 SendMessage(fMainReBar, RB_SIZETORECT, RBSTR_CHANGERECT, reinterpret_cast<LPARAM>(&availableBorderSpace));
994
995 // RBSTR_CHANGERECT does not seem to set the proper size in the rect.
996 // Let's make sure we fetch the actual size properly.
997 ::GetWindowRect(fMainReBar, &availableBorderSpace);
998 neededBorderSpace.left = 0;
999 neededBorderSpace.top = availableBorderSpace.bottom - availableBorderSpace.top;
1000 if (!pSettings->fLocked)
1001 neededBorderSpace.top += 3;
1002 neededBorderSpace.right = 0;
1003 neededBorderSpace.bottom = 0;
1004
1005 CComPtr<IDockingWindowSite> dockingWindowSite;
1006
1007 HRESULT hResult = fSite->QueryInterface(IID_PPV_ARG(IDockingWindowSite, &dockingWindowSite));
1008 if (FAILED_UNEXPECTEDLY(hResult))
1009 return hResult;
1010
1011 hResult = dockingWindowSite->RequestBorderSpaceDW(static_cast<IDockingWindow *>(this), &neededBorderSpace);
1012 if (FAILED_UNEXPECTEDLY(hResult))
1013 return hResult;
1014
1015 hResult = dockingWindowSite->SetBorderSpaceDW(static_cast<IDockingWindow *>(this), &neededBorderSpace);
1016 if (FAILED_UNEXPECTEDLY(hResult))
1017 return hResult;
1018
1019 return S_OK;
1020}
#define RBSTR_CHANGERECT
Definition: commctrl.h:1596
#define RB_SIZETORECT
Definition: commctrl.h:1598
LONG right
Definition: windef.h:308

Referenced by ReserveBorderSpace().

◆ Save()

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

Definition at line 1066 of file internettoolbar.cpp.

1067{
1068 ITBARSTATE state = { sizeof(state), state.SIG };
1070 state.StdToolbar = IsBandVisible(ITBBID_TOOLSBAND) == S_OK;
1071 state.Addressbar = IsBandVisible(ITBBID_ADDRESSBAND) == S_OK;
1072 state.Linksbar = FALSE;
1073 return pStm->Write(&state, sizeof(state), NULL);
1074}
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 1374 of file internettoolbar.cpp.

1376{
1377 if (fToolbarWindow)
1378 {
1380 if (result)
1381 *result = res;
1382 return S_OK;
1383 }
1384 return E_NOTIMPL;
1385}
GLuint res
Definition: glext.h:9613

◆ SetBandSiteInfo()

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

Implements IBandSite.

Definition at line 1567 of file internettoolbar.cpp.

1568{
1570 return E_NOTIMPL;
1571}

◆ SetBandState()

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

Implements IBandSite.

Definition at line 1549 of file internettoolbar.cpp.

1550{
1552 return E_NOTIMPL;
1553}

◆ SetBandVisibility()

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

Definition at line 1140 of file internettoolbar.cpp.

1141{
1142 int index = (int)SendMessage(fMainReBar, RB_IDTOINDEX, BandID, 0);
1145 return E_FAIL;
1146
1147 if (Show < 0)
1148 bandInfo.fStyle ^= RBBS_HIDDEN; // Toggle
1149 else if (Show)
1150 bandInfo.fStyle &= ~RBBS_HIDDEN;
1151 else
1152 bandInfo.fStyle |= RBBS_HIDDEN;
1153
1154 bandInfo.fMask &= ~RBBIM_CHILD;
1155 ::ShowWindow(bandInfo.hwndChild, (bandInfo.fStyle & RBBS_HIDDEN) ? SW_HIDE : SW_SHOW); // CORE-17236
1157
1159 SetDirty();
1160 return S_OK;
1161}
#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 1302 of file internettoolbar.cpp.

1303{
1304 HRESULT hResult;
1305
1306 TRACE("SetCommandTarget %p category %s param %d\n", theTarget, wine_dbgstr_guid(category), param14);
1307
1308 fCommandTarget.Release();
1310 if (FAILED_UNEXPECTEDLY(hResult))
1311 return hResult;
1313 return S_OK;
1314}
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197
#define TRACE(s)
Definition: solgame.cpp:4

◆ SetDirty()

HRESULT CInternetToolbar::SetDirty ( )

Definition at line 1030 of file internettoolbar.cpp.

1031{
1032 if (fIgnoreChanges)
1033 return S_OK;
1034 IUnknown_Exec(fSite, CGID_ShellBrowser, IDM_NOTIFYITBARDIRTY, 0, NULL, NULL);
1035 return S_OK;
1036}
#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 1387 of file internettoolbar.cpp.

1389{
1390 return E_NOTIMPL;
1391}

◆ SetSite()

HRESULT STDMETHODCALLTYPE CInternetToolbar::SetSite ( IUnknown pUnkSite)
override

Implements IObjectWithSite.

Definition at line 1403 of file internettoolbar.cpp.

1404{
1405 CComPtr<IBrowserService> browserService;
1406 HWND ownerWindow;
1407 HWND dockContainer;
1408 HRESULT hResult;
1409
1410 if (pUnkSite == NULL)
1411 {
1412 hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie);
1414 DestroyWindow();
1415 fSite.Release();
1416 }
1417 else
1418 {
1419 // get window handle of owner
1420 hResult = IUnknown_GetWindow(pUnkSite, &ownerWindow);
1421 if (FAILED_UNEXPECTEDLY(hResult))
1422 return hResult;
1423 if (ownerWindow == NULL)
1424 return E_FAIL;
1425
1426 // Get settings from owner window
1428
1429 // create dock container
1430 fSite = pUnkSite;
1431 dockContainer = SHCreateWorkerWindowW(0, ownerWindow, 0,
1433 if (dockContainer == NULL)
1434 return E_FAIL;
1435 SubclassWindow(dockContainer);
1436
1437 // create rebar in dock container
1443 0, 0, 700, 60, dockContainer, NULL, _AtlBaseModule.GetModuleInstance(), NULL);
1444 if (fMainReBar == NULL)
1445 return E_FAIL;
1446
1447 // take advice to watch events
1448 hResult = IUnknown_QueryService(pUnkSite, SID_SShellBrowser, IID_PPV_ARG(IBrowserService, &browserService));
1449 hResult = AtlAdvise(browserService, static_cast<IDispatch *>(this), DIID_DWebBrowserEvents, &fAdviseCookie);
1450 }
1451 return S_OK;
1452}
Arabic default style
Definition: afstyles.h:94
void Release()
Definition: atlcomcli.h:170
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
Definition: atl.c:45
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
Definition: atl.c:73
#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:3004
#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 SubclassWindow(hwnd, lpfn)
Definition: windowsx.h:542
#define CreateWindowEx
Definition: winuser.h:5775
#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

Referenced by CloseDW().

◆ SetState() [1/2]

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

Definition at line 1353 of file internettoolbar.cpp.

1354{
1355 // map the command id
1356 ::SendMessage(fToolbarWindow, TB_SETSTATE, commandID, MAKELONG(theState, 0));
1357 return S_OK;
1358}
#define TB_SETSTATE
Definition: commctrl.h:1054

◆ SetState() [2/2]

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

Definition at line 789 of file internettoolbar.cpp.

790{
791 long state = 0;
792 if (pcmd->cmdf & OLECMDF_ENABLED)
794 if (pcmd->cmdf & OLECMDF_LATCHED)
796 return SetState(pguidCmdGroup, commandID, state);
797}
#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 924 of file internettoolbar.cpp.

925{
926 HRESULT hResult;
927
928 // show the bar here
929 if (fShow)
930 {
931 hResult = ReserveBorderSpace();
932 if (FAILED_UNEXPECTEDLY(hResult))
933 return hResult;
934 }
935
936 // TODO: Why should showing the IDockingWindow change all bands? Related to CORE-17236 and CORE-19659.
937 int id;
938 IUnknown *pUnk;
939 for (UINT i = 0; SUCCEEDED(EnumBands(i, &id, &pUnk)); ++i)
940 {
941 if (!pUnk)
942 continue;
943 BOOL visible = fShow && IsBandVisible(id) != S_FALSE;
944 hResult = IUnknown_ShowDW(pUnk, visible);
945 FAILED_UNEXPECTEDLY(hResult);
946 }
947 return S_OK;
948}
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 1163 of file internettoolbar.cpp.

1164{
1165 return SetBandVisibility(BandID, -1);
1166}

Referenced by Exec(), and OnContextMenu().

◆ TranslateAcceleratorIO()

HRESULT STDMETHODCALLTYPE CInternetToolbar::TranslateAcceleratorIO ( LPMSG  lpMsg)
override

Definition at line 889 of file internettoolbar.cpp.

890{
892
893 if (fMenuBar)
895 if (hr == S_OK)
896 return hr;
897
898 if (fControlsBar)
900 if (hr == S_OK)
901 return hr;
902
903 if (fNavigationBar)
905 if (hr == S_OK)
906 return hr;
907
908 return S_FALSE;
909}
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
Definition: ordinal.c:4300

◆ UIActivateIO()

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

Definition at line 862 of file internettoolbar.cpp.

863{
864 return E_NOTIMPL;
865}

◆ Unknown1()

HRESULT STDMETHODCALLTYPE CInternetToolbar::Unknown1 ( )
override

Definition at line 1316 of file internettoolbar.cpp.

1317{
1318 return E_NOTIMPL;
1319}

Member Data Documentation

◆ fAdviseCookie

DWORD CInternetToolbar::fAdviseCookie

Definition at line 94 of file internettoolbar.h.

Referenced by CInternetToolbar(), and SetSite().

◆ fBandProxy

CComPtr<IBandProxy> CInternetToolbar::fBandProxy

Definition at line 95 of file internettoolbar.h.

Referenced by CreateAndInitBandProxy(), and QueryService().

◆ fCommandCategory

GUID CInternetToolbar::fCommandCategory

Definition at line 92 of file internettoolbar.h.

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

◆ fCommandTarget

CComPtr<IOleCommandTarget> CInternetToolbar::fCommandTarget

Definition at line 91 of file internettoolbar.h.

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

◆ fControlsBar

CComPtr<IUnknown> CInternetToolbar::fControlsBar

Definition at line 88 of file internettoolbar.h.

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

◆ fIgnoreChanges

BOOL CInternetToolbar::fIgnoreChanges

Definition at line 100 of file internettoolbar.h.

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

◆ fLocked

bool CInternetToolbar::fLocked

Definition at line 83 of file internettoolbar.h.

◆ fLogoBar

CComPtr<IUnknown> CInternetToolbar::fLogoBar

Definition at line 87 of file internettoolbar.h.

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

◆ fMainReBar

◆ fMenuBandWindow

HWND CInternetToolbar::fMenuBandWindow

Definition at line 85 of file internettoolbar.h.

Referenced by CInternetToolbar(), and InitNew().

◆ fMenuBar

CComPtr<IShellMenu> CInternetToolbar::fMenuBar

◆ fMenuCallback

CComPtr<CMenuCallback> CInternetToolbar::fMenuCallback

Definition at line 90 of file internettoolbar.h.

Referenced by CInternetToolbar(), and CreateMenuBar().

◆ fNavigationBar

CComPtr<IUnknown> CInternetToolbar::fNavigationBar

Definition at line 89 of file internettoolbar.h.

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

◆ fNavigationWindow

HWND CInternetToolbar::fNavigationWindow

Definition at line 86 of file internettoolbar.h.

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

◆ fSite

◆ fSizing

BOOL CInternetToolbar::fSizing

Definition at line 96 of file internettoolbar.h.

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

◆ fStartHeight

LONG CInternetToolbar::fStartHeight

Definition at line 98 of file internettoolbar.h.

Referenced by OnLDown(), and OnMouseMove().

◆ fStartPosition

POINT CInternetToolbar::fStartPosition

Definition at line 97 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: