Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.7 KiB

  1. #ifndef _BROWMENU_H_
  2. #define _BROWMENU_H_
  3. #include "cowsite.h"
  4. // IShellMenuCallback implementation
  5. class CFavoritesCallback : public IShellMenuCallback,
  6. public CObjectWithSite
  7. {
  8. public:
  9. // *** IUnknown methods ***
  10. STDMETHODIMP QueryInterface (REFIID riid, LPVOID * ppvObj);
  11. STDMETHODIMP_(ULONG) AddRef();
  12. STDMETHODIMP_(ULONG) Release();
  13. // *** CObjectWithSite methods (override)***
  14. STDMETHODIMP SetSite(IUnknown* punk);
  15. // *** IShellMenuCallback methods ***
  16. STDMETHODIMP CallbackSM(LPSMDATA smd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  17. CFavoritesCallback();
  18. private:
  19. virtual ~CFavoritesCallback();
  20. int _cRef;
  21. BOOL _fOffline;
  22. BOOL _fRefresh;
  23. BOOL _fExpandoMenus;
  24. BOOL _fShowingTip;
  25. HRESULT _GetHmenuInfo(HMENU hMenu, UINT uId, SMINFO* psminfo);
  26. HRESULT _SelectItem(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidl);
  27. HRESULT _Init(HMENU hMenu, UINT uIdParent, IUnknown* punk);
  28. HRESULT _Exit();
  29. HRESULT _GetObject(LPSMDATA psmd, REFIID riid, void** ppvObj);
  30. HRESULT _GetDefaultIcon(TCHAR* psz, int* piIndex);
  31. HRESULT _GetSFInfo(SMDATA* psmd, SMINFO* psminfo);
  32. HRESULT _Demote(LPSMDATA psmd);
  33. HRESULT _Promote(LPSMDATA psmd);
  34. HRESULT _HandleNew(LPSMDATA psmd);
  35. DWORD _GetDemote(SMDATA* psmd);
  36. HRESULT _GetTip(LPTSTR pstrTitle, LPTSTR pstrTip);
  37. HRESULT _ProcessChangeNotify(SMDATA* psmd, LONG lEvent,
  38. LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
  39. BOOL _AllowDrop(IDataObject* pIDataObject, HWND hwnd);
  40. IShellMenu* _psmFavCache;
  41. void _RefreshItem(HMENU hmenu, int idCmd, IShellMenu* psm);
  42. };
  43. #endif