source: trunk/src/comdlg32/filedlgbrowser.h@ 2912

Last change on this file since 2912 was 2607, checked in by sandervl, 26 years ago

merged with latest wine code

File size: 7.5 KB
Line 
1/*
2 * Implementation of IShellBrowser for the File Open common dialog
3 *
4 *
5 */
6
7#ifndef SHBROWSER_H
8#define SHBROWSER_H TRUE
9
10#include "shlobj.h"
11#include "winbase.h"
12#include "objbase.h"
13#include "commdlg.h"
14
15/***********************************************************************
16 * Defines and global variables
17 */
18#define _ICOM_THIS_FromICommDlgBrowser(Class,name) Class* This = (Class*) (((char*)name)-sizeof(void *))
19
20/* dialog internal property */
21
22#define FODPROP_SAVEDLG 0x0001 /* File dialog is a Save file dialog */
23#define FODPROP_USEVIEW 0x0002 /* Indicates the user selection must be taken
24 from the IShellView */
25
26/***********************************************************************
27 * Data structure
28 */
29
30
31typedef struct
32{
33
34 ICOM_VTABLE(IShellBrowser)* lpVtbl; /* IShellBrowser VTable */
35 ICOM_VTABLE(ICommDlgBrowser)* lpVtbl2; /* ICommDlgBrowser VTable */
36 DWORD ref; /* Reference counter */
37 HWND hwndOwner; /* Owner dialog of the interface */
38
39} IShellBrowserImpl;
40
41typedef struct
42{
43
44 OPENFILENAMEA ofnInfos;
45 struct {
46 IShellBrowser *FOIShellBrowser;
47 IShellFolder *FOIShellFolder;
48 IShellView *FOIShellView;
49 } Shell;
50
51 struct {
52 HWND hwndOwner;
53 HWND hwndView;
54 RECT rectView;
55 FOLDERSETTINGS folderSettings;
56 LPITEMIDLIST pidlAbsCurrent;
57 LPWSTR lpstrCurrentFilter;
58 } ShellInfos;
59
60 struct {
61 HWND hwndFileTypeCB;
62 HWND hwndLookInCB;
63 HWND hwndFileName;
64 HWND hwndTB;
65 HWND hwndCustomDlg;
66 DWORD dwDlgProp;
67 } DlgInfos;
68
69} FileOpenDlgInfos;
70
71/***********************************************************************
72 * Control ID's
73 */
74#define IDS_ABOUTBOX 101
75#define IDS_DOCUMENTFOLDERS 102
76#define IDS_PERSONAL 103
77#define IDS_FAVORITES 104
78#define IDS_PATH 105
79#define IDS_DESKTOP 106
80
81#define IDS_FONTS 108
82#define IDS_MYCOMPUTER 110
83#define IDS_SYSTEMFOLDERS 112
84#define IDS_LOCALHARDRIVES 113
85#define IDS_FILENOTFOUND 114
86#define IDS_VERIFYFILE 115
87#define IDS_CREATEFILE 116
88#define IDS_CREATEFOLDER_DENIED 117
89#define IDS_FILEOPEN_CAPTION 118
90
91#define IDC_OPENREADONLY chx1
92
93#define IDC_TOOLBARSTATIC stc1
94#define IDC_FILETYPESTATIC stc2
95#define IDC_FILENAMESTATIC stc3
96#define IDC_LOOKINSTATIC stc4
97
98#define IDC_SHELLSTATIC lst1
99
100#define IDC_FILETYPE cmb1
101#define IDC_LOOKIN cmb2
102
103#define IDC_FILENAME edt1
104
105#define IDC_TOOLBAR ctl1
106
107/***********************************************************************
108 * Prototypes for the methods of the IShellBrowserImpl class
109 */
110/* Constructor */
111IShellBrowser * IShellBrowserImpl_Construct(HWND hwndOwner);
112
113/* IUnknown */
114HRESULT WINAPI IShellBrowserImpl_QueryInterface(IShellBrowser *iface,
115 REFIID riid,
116 LPVOID *ppvObj);
117
118ULONG WINAPI IShellBrowserImpl_AddRef(IShellBrowser * iface);
119
120ULONG WINAPI IShellBrowserImpl_Release(IShellBrowser * iface);
121
122/* IOleWindow */
123HRESULT WINAPI IShellBrowserImpl_GetWindow(IShellBrowser * iface,
124 HWND * phwnd);
125
126HRESULT WINAPI IShellBrowserImpl_ContextSensitiveHelp(IShellBrowser * iface,
127 BOOL fEnterMode);
128
129/* IShellBrowser */
130
131HRESULT WINAPI IShellBrowserImpl_BrowseObject(IShellBrowser *iface,
132 LPCITEMIDLIST pidl,
133 UINT wFlags);
134
135HRESULT WINAPI IShellBrowserImpl_EnableModelessSB(IShellBrowser *iface,
136 BOOL fEnable);
137
138HRESULT WINAPI IShellBrowserImpl_GetControlWindow(IShellBrowser *iface,
139 UINT id,
140 HWND *lphwnd);
141
142HRESULT WINAPI IShellBrowserImpl_GetViewStateStream(IShellBrowser *iface,
143 DWORD grfMode,
144 LPSTREAM *ppStrm);
145
146HRESULT WINAPI IShellBrowserImpl_InsertMenusSB(IShellBrowser *iface,
147 HMENU hmenuShared,
148 LPOLEMENUGROUPWIDTHS lpMenuWidths);
149
150HRESULT WINAPI IShellBrowserImpl_OnViewWindowActive(IShellBrowser *iface,
151 IShellView *ppshv);
152
153
154HRESULT WINAPI IShellBrowserImpl_QueryActiveShellView(IShellBrowser *iface,
155 IShellView **ppshv);
156
157HRESULT WINAPI IShellBrowserImpl_RemoveMenusSB(IShellBrowser *iface,
158 HMENU hmenuShared);
159
160HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface,
161 UINT id,
162 UINT uMsg,
163 WPARAM wParam,
164 LPARAM lParam,
165 LRESULT *pret);
166
167HRESULT WINAPI IShellBrowserImpl_SetMenuSB(IShellBrowser *iface,
168 HMENU hmenuShared,
169 HOLEMENU holemenuReserved,
170 HWND hwndActiveObject);
171
172HRESULT WINAPI IShellBrowserImpl_SetStatusTextSB(IShellBrowser *iface,
173 LPCOLESTR lpszStatusText);
174
175
176HRESULT WINAPI IShellBrowserImpl_SetToolbarItems(IShellBrowser *iface,
177 LPTBBUTTON lpButtons,
178 UINT nButtons,
179 UINT uFlags);
180
181HRESULT WINAPI IShellBrowserImpl_TranslateAcceleratorSB(IShellBrowser *iface,
182 LPMSG lpmsg,
183 WORD wID);
184
185
186/* ICommDlgBrowser */
187
188HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_QueryInterface(ICommDlgBrowser *iface,
189 REFIID riid,
190 LPVOID *ppvObj);
191
192ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_AddRef(ICommDlgBrowser * iface);
193
194ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_Release(ICommDlgBrowser * iface);
195
196HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser *iface,
197 IShellView *ppshv);
198
199HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnStateChange(ICommDlgBrowser *iface,
200 IShellView *ppshv,
201 ULONG uChange);
202
203HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_IncludeObject(ICommDlgBrowser *iface,
204 IShellView * ppshv,
205 LPCITEMIDLIST pidl);
206
207
208
209LPITEMIDLIST GetSelectedPidl(IShellView *ppshv);
210
211#endif /*SHBROWSER_H*/
Note: See TracBrowser for help on using the repository browser.