IErrorInfo is now derived from IUnknown.
[wine] / include / wine / obj_shellbrowser.h
1 /************************************************************
2  *    IShellBrowser
3  */
4
5 #ifndef __WINE_WINE_OBJ_SHELLBROWSER_H
6 #define __WINE_WINE_OBJ_SHELLBROWSER_H
7
8 #include "winbase.h"
9 #include "windef.h"
10 #include "wingdi.h"
11 #include "winuser.h"
12 #include "wine/obj_base.h"
13 #include "wine/obj_inplace.h"   /* IOleWindow */
14 #include "wine/obj_shellview.h" /* IShellView */
15 #include "commctrl.h"           /* TBBUTTON */
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif /* defined(__cplusplus) */
20
21 /* it's ok commented out, see obj_shellview.h
22    typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
23 */
24
25 #define SID_SShellBrowser IID_IShellBrowser
26
27 /* targets for GetWindow/SendControlMsg */
28 #define FCW_STATUS              0x0001
29 #define FCW_TOOLBAR             0x0002
30 #define FCW_TREE                0x0003
31 #define FCW_INTERNETBAR         0x0006
32 #define FCW_PROGRESS            0x0008
33
34 /* wFlags for BrowseObject*/
35 #define SBSP_DEFBROWSER         0x0000
36 #define SBSP_SAMEBROWSER        0x0001
37 #define SBSP_NEWBROWSER         0x0002
38
39 #define SBSP_DEFMODE            0x0000
40 #define SBSP_OPENMODE           0x0010
41 #define SBSP_EXPLOREMODE        0x0020
42
43 #define SBSP_ABSOLUTE           0x0000
44 #define SBSP_RELATIVE           0x1000
45 #define SBSP_PARENT             0x2000
46 #define SBSP_NAVIGATEBACK       0x4000
47 #define SBSP_NAVIGATEFORWARD    0x8000
48
49 #define SBSP_ALLOW_AUTONAVIGATE         0x10000
50
51 #define SBSP_INITIATEDBYHLINKFRAME      0x80000000
52 #define SBSP_REDIRECT                   0x40000000
53 #define SBSP_WRITENOHISTORY             0x08000000
54
55 /* uFlage for SetToolbarItems */
56 #define FCT_MERGE       0x0001
57 #define FCT_CONFIGABLE  0x0002
58 #define FCT_ADDTOEND    0x0004
59
60 #define ICOM_INTERFACE IShellBrowser
61 #define IShellBrowser_METHODS \
62         ICOM_METHOD2(HRESULT, InsertMenusSB, HMENU, hmenuShared, LPOLEMENUGROUPWIDTHS, lpMenuWidths) \
63         ICOM_METHOD3(HRESULT, SetMenuSB, HMENU, hmenuShared, HOLEMENU, holemenuReserved, HWND, hwndActiveObject) \
64         ICOM_METHOD1(HRESULT, RemoveMenusSB, HMENU, hmenuShared) \
65         ICOM_METHOD1(HRESULT, SetStatusTextSB, LPCOLESTR, lpszStatusText) \
66         ICOM_METHOD1(HRESULT, EnableModelessSB, BOOL, fEnable) \
67         ICOM_METHOD2(HRESULT, TranslateAcceleratorSB, LPMSG, lpmsg, WORD, wID) \
68         ICOM_METHOD2(HRESULT, BrowseObject, LPCITEMIDLIST, pidl, UINT, wFlags) \
69         ICOM_METHOD2(HRESULT, GetViewStateStream, DWORD, grfMode, LPSTREAM*, ppStrm) \
70         ICOM_METHOD2(HRESULT, GetControlWindow, UINT, id, HWND*, lphwnd) \
71         ICOM_METHOD5(HRESULT, SendControlMsg, UINT, id, UINT, uMsg, WPARAM, wParam, LPARAM, lParam, LRESULT*, pret) \
72         ICOM_METHOD1(HRESULT, QueryActiveShellView, IShellView**, IShellView) \
73         ICOM_METHOD1(HRESULT, OnViewWindowActive, IShellView*, IShellView) \
74         ICOM_METHOD3(HRESULT, SetToolbarItems, LPTBBUTTON, lpButtons, UINT, nButtons, UINT, uFlags)
75 #define IShellBrowser_IMETHODS \
76         IOleWindow_IMETHODS \
77         IShellBrowser_METHODS
78 ICOM_DEFINE(IShellBrowser,IOleWindow)
79 #undef ICOM_INTERFACE
80
81 /*** IUnknown methods ***/
82 #define IShellBrowser_QueryInterface(p,a,b)             ICOM_CALL2(QueryInterface,p,a,b)
83 #define IShellBrowser_AddRef(p)                         ICOM_CALL(AddRef,p)
84 #define IShellBrowser_Release(p)                        ICOM_CALL(Release,p)
85 /*** IShellBrowser methods ***/
86 #define IShellBrowser_GetWindow(p,a)                    ICOM_CALL1(GetWindow,p,a)
87 #define IShellBrowser_ContextSensitiveHelp(p,a)         ICOM_CALL1(ContextSensitiveHelp,p,a)
88 #define IShellBrowser_InsertMenusSB(p,a,b)              ICOM_CALL2(InsertMenusSB,p,a,b)
89 #define IShellBrowser_SetMenuSB(p,a,b,c)                ICOM_CALL3(SetMenuSB,p,a,b,c)
90 #define IShellBrowser_RemoveMenusSB(p,a)                ICOM_CALL1(RemoveMenusSB,p,a)
91 #define IShellBrowser_SetStatusTextSB(p,a)              ICOM_CALL1(SetStatusTextSB,p,a)
92 #define IShellBrowser_EnableModelessSB(p,a)             ICOM_CALL1(EnableModelessSB,p,a)
93 #define IShellBrowser_TranslateAcceleratorSB(p,a,b)     ICOM_CALL2(TranslateAcceleratorSB,p,a,b)
94 #define IShellBrowser_BrowseObject(p,a,b)               ICOM_CALL2(BrowseObject,p,a,b)
95 #define IShellBrowser_GetViewStateStream(p,a,b)         ICOM_CALL2(GetViewStateStream,p,a,b)
96 #define IShellBrowser_GetControlWindow(p,a,b)           ICOM_CALL2(GetControlWindow,p,a,b)
97 #define IShellBrowser_SendControlMsg(p,a,b,c,d,e)       ICOM_CALL5(SendControlMsg,p,a,b,c,d,e)
98 #define IShellBrowser_QueryActiveShellView(p,a)         ICOM_CALL1(QueryActiveShellView,p,a)
99 #define IShellBrowser_OnViewWindowActive(p,a)           ICOM_CALL1(OnViewWindowActive,p,a)
100 #define IShellBrowser_SetToolbarItems(p,a,b,c)          ICOM_CALL3(SetToolbarItems,p,a,b,c)
101
102 #ifdef __cplusplus
103 } /* extern "C" */
104 #endif /* defined(__cplusplus) */
105
106 #endif /* __WINE_WINE_OBJ_SHELLBROWSER_H */