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

Last change on this file since 2013 was 1864, checked in by sandervl, 26 years ago

Merge with latest wine code

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