53 lines
1.7 KiB
C++
53 lines
1.7 KiB
C++
#ifndef _BROWMENU_H_
|
|
#define _BROWMENU_H_
|
|
|
|
#include "cowsite.h"
|
|
|
|
// IShellMenuCallback implementation
|
|
class CFavoritesCallback : public IShellMenuCallback,
|
|
public CObjectWithSite
|
|
{
|
|
public:
|
|
// *** IUnknown methods ***
|
|
STDMETHODIMP QueryInterface (REFIID riid, LPVOID * ppvObj);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
// *** CObjectWithSite methods (override)***
|
|
STDMETHODIMP SetSite(IUnknown* punk);
|
|
|
|
// *** IShellMenuCallback methods ***
|
|
STDMETHODIMP CallbackSM(LPSMDATA smd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
CFavoritesCallback();
|
|
private:
|
|
virtual ~CFavoritesCallback();
|
|
int _cRef;
|
|
BOOL _fOffline;
|
|
BOOL _fRefresh;
|
|
BOOL _fExpandoMenus;
|
|
BOOL _fShowingTip;
|
|
|
|
HRESULT _GetHmenuInfo(HMENU hMenu, UINT uId, SMINFO* psminfo);
|
|
HRESULT _SelectItem(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidl);
|
|
HRESULT _Init(HMENU hMenu, UINT uIdParent, IUnknown* punk);
|
|
HRESULT _Exit();
|
|
HRESULT _GetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
|
|
HRESULT _GetDefaultIcon(TCHAR* psz, int* piIndex);
|
|
HRESULT _GetSFInfo(SMDATA* psmd, SMINFO* psminfo);
|
|
HRESULT _Demote(LPSMDATA psmd);
|
|
HRESULT _Promote(LPSMDATA psmd);
|
|
HRESULT _HandleNew(LPSMDATA psmd);
|
|
DWORD _GetDemote(SMDATA* psmd);
|
|
HRESULT _GetTip(LPTSTR pstrTitle, LPTSTR pstrTip);
|
|
HRESULT _ProcessChangeNotify(SMDATA* psmd, LONG lEvent,
|
|
LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
|
|
BOOL _AllowDrop(IDataObject* pIDataObject, HWND hwnd);
|
|
|
|
IShellMenu* _psmFavCache;
|
|
|
|
void _RefreshItem(HMENU hmenu, int idCmd, IShellMenu* psm);
|
|
};
|
|
|
|
#endif
|