116 lines
4.5 KiB
C
116 lines
4.5 KiB
C
/************************************************************
|
|
* IShellBrowser
|
|
*/
|
|
|
|
#ifndef __WINE_WINE_OBJ_SHELLBROWSER_H
|
|
#define __WINE_WINE_OBJ_SHELLBROWSER_H
|
|
|
|
#include "winbase.h"
|
|
#include "windef.h"
|
|
#include "wingdi.h"
|
|
#include "winuser.h"
|
|
#include "wine/obj_base.h"
|
|
#include "wine/obj_inplace.h" /* IOleWindow */
|
|
#include "wine/obj_shellview.h" /* IShellView */
|
|
#include "commctrl.h" /* TBBUTTON */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
/* it's ok commented out, see obj_shellview.h
|
|
typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
|
|
*/
|
|
|
|
DEFINE_SHLGUID(IID_IShellBrowser, 0x000214E2L, 0, 0);
|
|
#define SID_SShellBrowser IID_IShellBrowser
|
|
|
|
/* targets for GetWindow/SendControlMsg */
|
|
#define FCW_STATUS 0x0001
|
|
#define FCW_TOOLBAR 0x0002
|
|
#define FCW_TREE 0x0003
|
|
#define FCW_INTERNETBAR 0x0006
|
|
#define FCW_PROGRESS 0x0008
|
|
|
|
/* wFlags for BrowseObject*/
|
|
#define SBSP_DEFBROWSER 0x0000
|
|
#define SBSP_SAMEBROWSER 0x0001
|
|
#define SBSP_NEWBROWSER 0x0002
|
|
|
|
#define SBSP_DEFMODE 0x0000
|
|
#define SBSP_OPENMODE 0x0010
|
|
#define SBSP_EXPLOREMODE 0x0020
|
|
|
|
#define SBSP_ABSOLUTE 0x0000
|
|
#define SBSP_RELATIVE 0x1000
|
|
#define SBSP_PARENT 0x2000
|
|
#define SBSP_NAVIGATEBACK 0x4000
|
|
#define SBSP_NAVIGATEFORWARD 0x8000
|
|
|
|
#define SBSP_ALLOW_AUTONAVIGATE 0x10000
|
|
|
|
#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
|
|
#define SBSP_REDIRECT 0x40000000
|
|
#define SBSP_WRITENOHISTORY 0x08000000
|
|
|
|
/* uFlage for SetToolbarItems */
|
|
#define FCT_MERGE 0x0001
|
|
#define FCT_CONFIGABLE 0x0002
|
|
#define FCT_ADDTOEND 0x0004
|
|
|
|
/* undocumented, found in the web posted by Chris Becke */
|
|
#define CWM_SETPATH (WM_USER+2)
|
|
#define CWM_WANTIDLE (WM_USER+3)
|
|
#define CWM_GETSETCURRENTINFO (WM_USER+4)
|
|
#define CWM_SELECTITEM (WM_USER+5)
|
|
#define CWM_STOPWAITING (WM_USER+6)
|
|
#define CWM_GETISHELLBROWSER (WM_USER+7)
|
|
|
|
#define ICOM_INTERFACE IShellBrowser
|
|
#define IShellBrowser_METHODS \
|
|
ICOM_METHOD2(HRESULT, InsertMenusSB, HMENU, hmenuShared, LPOLEMENUGROUPWIDTHS, lpMenuWidths) \
|
|
ICOM_METHOD3(HRESULT, SetMenuSB, HMENU, hmenuShared, HOLEMENU, holemenuReserved, HWND, hwndActiveObject) \
|
|
ICOM_METHOD1(HRESULT, RemoveMenusSB, HMENU, hmenuShared) \
|
|
ICOM_METHOD1(HRESULT, SetStatusTextSB, LPCOLESTR, lpszStatusText) \
|
|
ICOM_METHOD1(HRESULT, EnableModelessSB, BOOL, fEnable) \
|
|
ICOM_METHOD2(HRESULT, TranslateAcceleratorSB, LPMSG, lpmsg, WORD, wID) \
|
|
ICOM_METHOD2(HRESULT, BrowseObject, LPCITEMIDLIST, pidl, UINT, wFlags) \
|
|
ICOM_METHOD2(HRESULT, GetViewStateStream, DWORD, grfMode, LPSTREAM*, ppStrm) \
|
|
ICOM_METHOD2(HRESULT, GetControlWindow, UINT, id, HWND*, lphwnd) \
|
|
ICOM_METHOD5(HRESULT, SendControlMsg, UINT, id, UINT, uMsg, WPARAM, wParam, LPARAM, lParam, LRESULT*, pret) \
|
|
ICOM_METHOD1(HRESULT, QueryActiveShellView, IShellView**, IShellView) \
|
|
ICOM_METHOD1(HRESULT, OnViewWindowActive, IShellView*, IShellView) \
|
|
ICOM_METHOD3(HRESULT, SetToolbarItems, LPTBBUTTON, lpButtons, UINT, nButtons, UINT, uFlags)
|
|
#define IShellBrowser_IMETHODS \
|
|
IOleWindow_IMETHODS \
|
|
IShellBrowser_METHODS
|
|
ICOM_DEFINE(IShellBrowser,IOleWindow)
|
|
#undef ICOM_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
#define IShellBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
|
#define IShellBrowser_AddRef(p) ICOM_CALL(AddRef,p)
|
|
#define IShellBrowser_Release(p) ICOM_CALL(Release,p)
|
|
/*** IShellBrowser methods ***/
|
|
#define IShellBrowser_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a)
|
|
#define IShellBrowser_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a)
|
|
#define IShellBrowser_InsertMenusSB(p,a,b) ICOM_CALL2(InsertMenusSB,p,a,b)
|
|
#define IShellBrowser_SetMenuSB(p,a,b,c) ICOM_CALL3(SetMenuSB,p,a,b,c)
|
|
#define IShellBrowser_RemoveMenusSB(p,a) ICOM_CALL1(RemoveMenusSB,p,a)
|
|
#define IShellBrowser_SetStatusTextSB(p,a) ICOM_CALL1(SetStatusTextSB,p,a)
|
|
#define IShellBrowser_EnableModelessSB(p,a) ICOM_CALL1(EnableModelessSB,p,a)
|
|
#define IShellBrowser_TranslateAcceleratorSB(p,a,b) ICOM_CALL2(TranslateAcceleratorSB,p,a,b)
|
|
#define IShellBrowser_BrowseObject(p,a,b) ICOM_CALL2(BrowseObject,p,a,b)
|
|
#define IShellBrowser_GetViewStateStream(p,a,b) ICOM_CALL2(GetViewStateStream,p,a,b)
|
|
#define IShellBrowser_GetControlWindow(p,a,b) ICOM_CALL2(GetControlWindow,p,a,b)
|
|
#define IShellBrowser_SendControlMsg(p,a,b,c,d,e) ICOM_CALL5(SendControlMsg,p,a,b,c,d,e)
|
|
#define IShellBrowser_QueryActiveShellView(p,a) ICOM_CALL1(QueryActiveShellView,p,a)
|
|
#define IShellBrowser_OnViewWindowActive(p,a) ICOM_CALL1(OnViewWindowActive,p,a)
|
|
#define IShellBrowser_SetToolbarItems(p,a,b,c) ICOM_CALL3(SetToolbarItems,p,a,b,c)
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
#endif /* __WINE_WINE_OBJ_SHELLBROWSER_H */
|