4 * Copyright (C) 1999 Juergen Schmied
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_WINE_OBJ_SHELLBROWSER_H
22 #define __WINE_WINE_OBJ_SHELLBROWSER_H
26 #endif /* defined(__cplusplus) */
28 /* it's ok commented out, see obj_shellview.h
29 typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
32 #define SID_SShellBrowser IID_IShellBrowser
34 DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
36 /* targets for GetWindow/SendControlMsg */
37 #define FCW_STATUS 0x0001
38 #define FCW_TOOLBAR 0x0002
39 #define FCW_TREE 0x0003
40 #define FCW_INTERNETBAR 0x0006
41 #define FCW_PROGRESS 0x0008
43 /* wFlags for BrowseObject*/
44 #define SBSP_DEFBROWSER 0x0000
45 #define SBSP_SAMEBROWSER 0x0001
46 #define SBSP_NEWBROWSER 0x0002
48 #define SBSP_DEFMODE 0x0000
49 #define SBSP_OPENMODE 0x0010
50 #define SBSP_EXPLOREMODE 0x0020
52 #define SBSP_ABSOLUTE 0x0000
53 #define SBSP_RELATIVE 0x1000
54 #define SBSP_PARENT 0x2000
55 #define SBSP_NAVIGATEBACK 0x4000
56 #define SBSP_NAVIGATEFORWARD 0x8000
58 #define SBSP_ALLOW_AUTONAVIGATE 0x10000
60 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000
61 #define SBSP_REDIRECT 0x40000000
62 #define SBSP_WRITENOHISTORY 0x08000000
64 /* uFlage for SetToolbarItems */
65 #define FCT_MERGE 0x0001
66 #define FCT_CONFIGABLE 0x0002
67 #define FCT_ADDTOEND 0x0004
69 #define ICOM_INTERFACE IShellBrowser
70 #define IShellBrowser_METHODS \
71 ICOM_METHOD2(HRESULT, InsertMenusSB, HMENU, hmenuShared, LPOLEMENUGROUPWIDTHS, lpMenuWidths) \
72 ICOM_METHOD3(HRESULT, SetMenuSB, HMENU, hmenuShared, HOLEMENU, holemenuReserved, HWND, hwndActiveObject) \
73 ICOM_METHOD1(HRESULT, RemoveMenusSB, HMENU, hmenuShared) \
74 ICOM_METHOD1(HRESULT, SetStatusTextSB, LPCOLESTR, lpszStatusText) \
75 ICOM_METHOD1(HRESULT, EnableModelessSB, BOOL, fEnable) \
76 ICOM_METHOD2(HRESULT, TranslateAcceleratorSB, LPMSG, lpmsg, WORD, wID) \
77 ICOM_METHOD2(HRESULT, BrowseObject, LPCITEMIDLIST, pidl, UINT, wFlags) \
78 ICOM_METHOD2(HRESULT, GetViewStateStream, DWORD, grfMode, LPSTREAM*, ppStrm) \
79 ICOM_METHOD2(HRESULT, GetControlWindow, UINT, id, HWND*, lphwnd) \
80 ICOM_METHOD5(HRESULT, SendControlMsg, UINT, id, UINT, uMsg, WPARAM, wParam, LPARAM, lParam, LRESULT*, pret) \
81 ICOM_METHOD1(HRESULT, QueryActiveShellView, IShellView**, IShellView) \
82 ICOM_METHOD1(HRESULT, OnViewWindowActive, IShellView*, IShellView) \
83 ICOM_METHOD3(HRESULT, SetToolbarItems, LPTBBUTTON, lpButtons, UINT, nButtons, UINT, uFlags)
84 #define IShellBrowser_IMETHODS \
87 ICOM_DEFINE(IShellBrowser,IOleWindow)
90 /*** IUnknown methods ***/
91 #define IShellBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
92 #define IShellBrowser_AddRef(p) ICOM_CALL(AddRef,p)
93 #define IShellBrowser_Release(p) ICOM_CALL(Release,p)
94 /*** IShellBrowser methods ***/
95 #define IShellBrowser_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a)
96 #define IShellBrowser_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a)
97 #define IShellBrowser_InsertMenusSB(p,a,b) ICOM_CALL2(InsertMenusSB,p,a,b)
98 #define IShellBrowser_SetMenuSB(p,a,b,c) ICOM_CALL3(SetMenuSB,p,a,b,c)
99 #define IShellBrowser_RemoveMenusSB(p,a) ICOM_CALL1(RemoveMenusSB,p,a)
100 #define IShellBrowser_SetStatusTextSB(p,a) ICOM_CALL1(SetStatusTextSB,p,a)
101 #define IShellBrowser_EnableModelessSB(p,a) ICOM_CALL1(EnableModelessSB,p,a)
102 #define IShellBrowser_TranslateAcceleratorSB(p,a,b) ICOM_CALL2(TranslateAcceleratorSB,p,a,b)
103 #define IShellBrowser_BrowseObject(p,a,b) ICOM_CALL2(BrowseObject,p,a,b)
104 #define IShellBrowser_GetViewStateStream(p,a,b) ICOM_CALL2(GetViewStateStream,p,a,b)
105 #define IShellBrowser_GetControlWindow(p,a,b) ICOM_CALL2(GetControlWindow,p,a,b)
106 #define IShellBrowser_SendControlMsg(p,a,b,c,d,e) ICOM_CALL5(SendControlMsg,p,a,b,c,d,e)
107 #define IShellBrowser_QueryActiveShellView(p,a) ICOM_CALL1(QueryActiveShellView,p,a)
108 #define IShellBrowser_OnViewWindowActive(p,a) ICOM_CALL1(OnViewWindowActive,p,a)
109 #define IShellBrowser_SetToolbarItems(p,a,b,c) ICOM_CALL3(SetToolbarItems,p,a,b,c)
113 #endif /* defined(__cplusplus) */
115 #endif /* __WINE_WINE_OBJ_SHELLBROWSER_H */