blob: a2367235a51aedf5e7dc110599444af44d8be168 [file] [log] [blame]
Alexandre Julliarda0d77311998-09-13 16:32:00 +00001/*
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00002 * Declarations for OLEDLG
3 *
4 * Copyright (C) the Wine project
5 *
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.
10 *
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.
15 *
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
Alexandre Julliarda0d77311998-09-13 16:32:00 +000019 */
20
21#ifndef __WINE_OLEDLG_H
22#define __WINE_OLEDLG_H
23
Dimitrie O. Paun53f9c212003-08-28 21:43:34 +000024#include <commdlg.h>
25#include <prsht.h>
Dimitrie O. Paun53f9c212003-08-28 21:43:34 +000026#include <ole2.h>
Adrian Thurstond3354d01999-03-24 15:05:05 +000027
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32
33typedef struct IOleUILinkContainerA IOleUILinkContainerA, *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
34typedef struct IOleUILinkContainerW IOleUILinkContainerW, *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
35
36typedef struct IOleUILinkInfoA IOleUILinkInfoA, *POLEUILINKINFOA, *LPOLEUILINKINFOA;
37typedef struct IOleUILinkInfoW IOleUILinkInfoW, *POLEUILINKINFOW, *LPOLEUILINKINFOW;
38
39typedef struct IOleUIObjInfoA IOleUIObjInfoA, *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
40typedef struct IOleUIObjInfoW IOleUIObjInfoW, *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
41
Albert Den Hann8de1dfa1999-03-27 16:06:55 +000042#define IDC_OLEUIHELP 99
43
44/* Change Source Dialog flags */
Adrian Thurstond3354d01999-03-24 15:05:05 +000045#define CSF_SHOWHELP 0x00000001L
46#define CSF_VALIDSOURCE 0x00000002L
47#define CSF_ONLYGETSOURCE 0x00000004L
48#define CSF_EXPLORER 0x00000008L
49
50#define PSF_SHOWHELP 0x00000001L
51#define PSF_SELECTPASTE 0x00000002L
52#define PSF_SELECTPASTELINK 0x00000004L
53#define PSF_CHECKDISPLAYASICON 0x00000008L
54#define PSF_DISABLEDISPLAYASICON 0x00000010L
55#define PSF_HIDECHANGEICON 0x00000020L
56#define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
57#define PSF_NOREFRESHDATAOBJECT 0x00000080L
58
59#define IOF_SHOWHELP 0x00000001L
60#define IOF_SELECTCREATENEW 0x00000002L
61#define IOF_SELECTCREATEFROMFILE 0x00000004L
62#define IOF_CHECKLINK 0x00000008L
63#define IOF_CHECKDISPLAYASICON 0x00000010L
64#define IOF_CREATENEWOBJECT 0x00000020L
65#define IOF_CREATEFILEOBJECT 0x00000040L
66#define IOF_CREATELINKOBJECT 0x00000080L
67#define IOF_DISABLELINK 0x00000100L
68#define IOF_VERIFYSERVERSEXIST 0x00000200L
69#define IOF_DISABLEDISPLAYASICON 0x00000400L
70#define IOF_HIDECHANGEICON 0x00000800L
71#define IOF_SHOWINSERTCONTROL 0x00001000L
72#define IOF_SELECTCREATECONTROL 0x00002000L
73
74#define CF_SHOWHELPBUTTON 0x00000001L
75#define CF_SETCONVERTDEFAULT 0x00000002L
76#define CF_SETACTIVATEDEFAULT 0x00000004L
77#define CF_SELECTCONVERTTO 0x00000008L
78#define CF_SELECTACTIVATEAS 0x00000010L
79#define CF_DISABLEDISPLAYASICON 0x00000020L
80#define CF_DISABLEACTIVATEAS 0x00000040L
81#define CF_HIDECHANGEICON 0x00000080L
82#define CF_CONVERTONLY 0x00000100L
83
84#define CIF_SHOWHELP 0x00000001L
85#define CIF_SELECTCURRENT 0x00000002L
86#define CIF_SELECTDEFAULT 0x00000004L
87#define CIF_SELECTFROMFILE 0x00000008L
88#define CIF_USEICONEXE 0x00000010L
89
Albert Den Hann8de1dfa1999-03-27 16:06:55 +000090#define BZ_DISABLECANCELBUTTON 0x00000001L
91#define BZ_DISABLESWITCHTOBUTTON 0x00000002L
92#define BZ_DISABLERETRYBUTTON 0x00000004L
93#define BZ_NOTRESPONDINGDIALOG 0x00000008L
94
95#define OLEUI_ERR_STANDARDMAX 116
96
97#define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
98#define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
99#define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
100#define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
101
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000102#define OLEUI_FALSE 0
103#define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
Vincent Béron9a624912002-05-31 23:06:46 +0000104#define OLEUI_OK 1 /* OK button pressed */
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000105#define OLEUI_CANCEL 2 /* Cancel button pressed */
106
Ulrich Czekallaaf0d2af2003-11-05 01:34:38 +0000107#define OLEUI_ERR_STANDARDMIN 100
108#define OLEUI_ERR_OLEMEMALLOC 100
109#define OLEUI_ERR_STRUCTURENULL 101
110#define OLEUI_ERR_STRUCTUREINVALID 102
111#define OLEUI_ERR_CBSTRUCTINCORRECT 103
112#define OLEUI_ERR_HWNDOWNERINVALID 104
113#define OLEUI_ERR_LPSZCAPTIONINVALID 105
114#define OLEUI_ERR_LPFNHOOKINVALID 106
115#define OLEUI_ERR_HINSTANCEINVALID 107
116#define OLEUI_ERR_LPSZTEMPLATEINVALID 108
117#define OLEUI_ERR_HRESOURCEINVALID 109
118#define OLEUI_ERR_FINDTEMPLATEFAILURE 110
119#define OLEUI_ERR_LOADTEMPLATEFAILURE 111
120#define OLEUI_ERR_DIALOGFAILURE 112
121#define OLEUI_ERR_LOCALMEMALLOC 113
122#define OLEUI_ERR_GLOBALMEMALLOC 114
123#define OLEUI_ERR_LOADSTRING 115
124#define OLEUI_ERR_STANDARDMAX 116
125
Albert Den Hann8de1dfa1999-03-27 16:06:55 +0000126#define OPF_OBJECTISLINK 0x00000001L
127#define OPF_NOFILLDEFAULT 0x00000002L
128#define OPF_SHOWHELP 0x00000004L
129#define OPF_DISABLECONVERT 0x00000008L
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000130
Patrik Stridvallf94462f2002-01-31 23:22:07 +0000131typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000132
Adrian Thurstond3354d01999-03-24 15:05:05 +0000133/*****************************************************************************
134 * INSERT OBJECT DIALOG
135 */
136typedef struct tagOLEUIINSERTOBJECTA
137{
Vincent Béron9a624912002-05-31 23:06:46 +0000138 DWORD cbStruct;
139 DWORD dwFlags;
140 HWND hWndOwner;
141 LPCSTR lpszCaption;
142 LPFNOLEUIHOOK lpfnHook;
143 LPARAM lCustData;
144 HINSTANCE hInstance;
145 LPCSTR lpszTemplate;
146 HRSRC hResource;
147 CLSID clsid;
148 LPSTR lpszFile;
149 UINT cchFile;
150 UINT cClsidExclude;
151 LPCLSID lpClsidExclude;
152 IID iid;
153 DWORD oleRender;
154 LPFORMATETC lpFormatEtc;
155 LPOLECLIENTSITE lpIOleClientSite;
156 LPSTORAGE lpIStorage;
157 LPVOID *ppvObj;
158 SCODE sc;
159 HGLOBAL hMetaPict;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000160} OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000161
Adrian Thurstond3354d01999-03-24 15:05:05 +0000162typedef struct tagOLEUIINSERTOBJECTW
163{
Vincent Béron9a624912002-05-31 23:06:46 +0000164 DWORD cbStruct;
165 DWORD dwFlags;
166 HWND hWndOwner;
167 LPCWSTR lpszCaption;
168 LPFNOLEUIHOOK lpfnHook;
169 LPARAM lCustData;
170 HINSTANCE hInstance;
171 LPCWSTR lpszTemplate;
172 HRSRC hResource;
173 CLSID clsid;
174 LPWSTR lpszFile;
175 UINT cchFile;
176 UINT cClsidExclude;
177 LPCLSID lpClsidExclude;
178 IID iid;
179 DWORD oleRender;
180 LPFORMATETC lpFormatEtc;
181 LPOLECLIENTSITE lpIOleClientSite;
182 LPSTORAGE lpIStorage;
183 LPVOID *ppvObj;
184 SCODE sc;
185 HGLOBAL hMetaPict;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000186} OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000187
Adrian Thurstond3354d01999-03-24 15:05:05 +0000188DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
189DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
190DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000191
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000192
Adrian Thurstond3354d01999-03-24 15:05:05 +0000193/*****************************************************************************
194 * CONVERT DIALOG
195 */
196typedef struct tagOLEUICONVERTA
197{
Vincent Béron9a624912002-05-31 23:06:46 +0000198 DWORD cbStruct;
199 DWORD dwFlags;
200 HWND hWndOwner;
201 LPCSTR lpszCaption;
202 LPFNOLEUIHOOK lpfnHook;
203 LPARAM lCustData;
204 HINSTANCE hInstance;
205 LPCSTR lpszTemplate;
206 HRSRC hResource;
207 CLSID clsid;
208 CLSID clsidConvertDefault;
209 CLSID clsidActivateDefault;
210 CLSID clsidNew;
211 DWORD dvAspect;
212 WORD wFormat;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000213 BOOL fIsLinkedObject;
Vincent Béron9a624912002-05-31 23:06:46 +0000214 HGLOBAL hMetaPict;
215 LPSTR lpszUserType;
216 BOOL fObjectsIconChanged;
217 LPSTR lpszDefLabel;
218 UINT cClsidExclude;
219 LPCLSID lpClsidExclude;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000220} OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000221
Adrian Thurstond3354d01999-03-24 15:05:05 +0000222typedef struct tagOLEUICONVERTW
223{
Vincent Béron9a624912002-05-31 23:06:46 +0000224 DWORD cbStruct;
225 DWORD dwFlags;
226 HWND hWndOwner;
227 LPCWSTR lpszCaption;
228 LPFNOLEUIHOOK lpfnHook;
229 LPARAM lCustData;
230 HINSTANCE hInstance;
231 LPCWSTR lpszTemplate;
232 HRSRC hResource;
233 CLSID clsid;
234 CLSID clsidConvertDefault;
235 CLSID clsidActivateDefault;
236 CLSID clsidNew;
237 DWORD dvAspect;
238 WORD wFormat;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000239 BOOL fIsLinkedObject;
Vincent Béron9a624912002-05-31 23:06:46 +0000240 HGLOBAL hMetaPict;
241 LPWSTR lpszUserType;
242 BOOL fObjectsIconChanged;
243 LPWSTR lpszDefLabel;
244 UINT cClsidExclude;
245 LPCLSID lpClsidExclude;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000246} OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000247
Adrian Thurstond3354d01999-03-24 15:05:05 +0000248DECL_WINELIB_TYPE_AW(OLEUICONVERT)
249DECL_WINELIB_TYPE_AW(POLEUICONVERT)
250DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
251
252/*****************************************************************************
253 * CHANGE ICON DIALOG
254 */
255typedef struct tagOLEUICHANGEICONA
256{
Vincent Béron9a624912002-05-31 23:06:46 +0000257 DWORD cbStruct;
258 DWORD dwFlags;
259 HWND hWndOwner;
260 LPCSTR lpszCaption;
261 LPFNOLEUIHOOK lpfnHook;
262 LPARAM lCustData;
263 HINSTANCE hInstance;
264 LPCSTR lpszTemplate;
265 HRSRC hResource;
266 HGLOBAL hMetaPict;
267 CLSID clsid;
268 CHAR szIconExe[MAX_PATH];
269 INT cchIconExe;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000270} OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
271
272typedef struct tagOLEUICHANGEICONW
273{
Vincent Béron9a624912002-05-31 23:06:46 +0000274 DWORD cbStruct;
275 DWORD dwFlags;
276 HWND hWndOwner;
277 LPCWSTR lpszCaption;
278 LPFNOLEUIHOOK lpfnHook;
279 LPARAM lCustData;
280 HINSTANCE hInstance;
281 LPCWSTR lpszTemplate;
282 HRSRC hResource;
283 HGLOBAL hMetaPict;
284 CLSID clsid;
285 WCHAR szIconExe[MAX_PATH];
286 INT cchIconExe;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000287} OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
288
289DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
290DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
291DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
292
293
294/*****************************************************************************
295 * PASTE SPECIAL DIALOG
296 */
297
298typedef enum tagOLEUIPASTEFLAG
299{
Vincent Béron9a624912002-05-31 23:06:46 +0000300 OLEUIPASTE_ENABLEICON = 2048,
Adrian Thurstond3354d01999-03-24 15:05:05 +0000301 OLEUIPASTE_PASTEONLY = 0,
302 OLEUIPASTE_PASTE = 512,
303 OLEUIPASTE_LINKANYTYPE = 1024,
304 OLEUIPASTE_LINKTYPE1 = 1,
305 OLEUIPASTE_LINKTYPE2 = 2,
306 OLEUIPASTE_LINKTYPE3 = 4,
307 OLEUIPASTE_LINKTYPE4 = 8,
308 OLEUIPASTE_LINKTYPE5 = 16,
309 OLEUIPASTE_LINKTYPE6 = 32,
310 OLEUIPASTE_LINKTYPE7 = 64,
311 OLEUIPASTE_LINKTYPE8 = 128
Vincent Béron9a624912002-05-31 23:06:46 +0000312} OLEUIPASTEFLAG;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000313
314typedef struct tagOLEUIPASTEENTRYA
315{
Vincent Béron9a624912002-05-31 23:06:46 +0000316 FORMATETC fmtetc;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000317 LPCSTR lpstrFormatName;
318 LPCSTR lpstrResultText;
Vincent Béron9a624912002-05-31 23:06:46 +0000319 DWORD dwFlags;
320 DWORD dwScratchSpace;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000321} OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
322
323typedef struct tagOLEUIPASTEENTRYW
324{
Vincent Béron9a624912002-05-31 23:06:46 +0000325 FORMATETC fmtetc;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000326 LPCWSTR lpstrFormatName;
327 LPCWSTR lpstrResultText;
Vincent Béron9a624912002-05-31 23:06:46 +0000328 DWORD dwFlags;
329 DWORD dwScratchSpace;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000330} OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
331
332DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
333DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
334DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
335
336typedef struct tagOLEUIPASTESPECIALA
337{
Vincent Béron9a624912002-05-31 23:06:46 +0000338 DWORD cbStruct;
339 DWORD dwFlags;
340 HWND hWndOwner;
341 LPCSTR lpszCaption;
342 LPFNOLEUIHOOK lpfnHook;
343 LPARAM lCustData;
344 HINSTANCE hInstance;
345 LPCSTR lpszTemplate;
346 HRSRC hResource;
347 LPDATAOBJECT lpSrcDataObj;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000348 LPOLEUIPASTEENTRYA arrPasteEntries;
Vincent Béron9a624912002-05-31 23:06:46 +0000349 INT cPasteEntries;
350 UINT* arrLinkTypes;
351 INT cLinkTypes;
352 UINT cClsidExclude;
353 LPCLSID lpClsidExclude;
354 INT nSelectedIndex;
355 BOOL fLink;
356 HGLOBAL hMetaPict;
357 SIZEL sizel;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000358} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
359
360typedef struct tagOLEUIPASTESPECIALW
361{
Vincent Béron9a624912002-05-31 23:06:46 +0000362 DWORD cbStruct;
363 DWORD dwFlags;
364 HWND hWndOwner;
365 LPCWSTR lpszCaption;
366 LPFNOLEUIHOOK lpfnHook;
367 LPARAM lCustData;
368 HINSTANCE hInstance;
369 LPCWSTR lpszTemplate;
370 HRSRC hResource;
371 LPDATAOBJECT lpSrcDataObj;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000372 LPOLEUIPASTEENTRYW arrPasteEntries;
Vincent Béron9a624912002-05-31 23:06:46 +0000373 INT cPasteEntries;
374 UINT* arrLinkTypes;
375 INT cLinkTypes;
376 UINT cClsidExclude;
377 LPCLSID lpClsidExclude;
378 INT nSelectedIndex;
379 BOOL fLink;
380 HGLOBAL hMetaPict;
381 SIZEL sizel;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000382} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
383
384DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
385DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
386DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
387
388#define PSF_SHOWHELP 0x00000001L
389#define PSF_SELECTPASTE 0x00000002L
390#define PSF_SELECTPASTELINK 0x00000004L
391
392#define PSF_CHECKDISPLAYASICON 0x00000008L
393#define PSF_DISABLEDISPLAYASICON 0x00000010L
394#define PSF_HIDECHANGEICON 0x00000020L
395#define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
396#define PSF_NOREFRESHDATAOBJECT 0x00000080L
397
398#define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
399#define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
400#define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
401#define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
402#define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
403
Albert Den Hann8de1dfa1999-03-27 16:06:55 +0000404#define ELF_SHOWHELP 0x00000001L
405#define ELF_DISABLEUPDATENOW 0x00000002L
406#define ELF_DISABLEOPENSOURCE 0x00000004L
407#define ELF_DISABLECHANGESOURCE 0x00000008L
408#define ELF_DISABLECANCELLINK 0x00000010L
409
Adrian Thurstond3354d01999-03-24 15:05:05 +0000410typedef struct tagOLEUIEDITLINKSW
411{
Vincent Béron9a624912002-05-31 23:06:46 +0000412 DWORD cbStruct;
413 DWORD dwFlags;
414 HWND hWndOwner;
415 LPCWSTR lpszCaption;
416 LPFNOLEUIHOOK lpfnHook;
417 LPARAM lCustData;
418 HINSTANCE hInstance;
419 LPCWSTR lpszTemplate;
420 HRSRC hResource;
421 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000422} OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
423
424typedef struct tagOLEUIEDITLINKSA
425{
Vincent Béron9a624912002-05-31 23:06:46 +0000426 DWORD cbStruct;
427 DWORD dwFlags;
428 HWND hWndOwner;
429 LPCSTR lpszCaption;
430 LPFNOLEUIHOOK lpfnHook;
431 LPARAM lCustData;
432 HINSTANCE hInstance;
433 LPCSTR lpszTemplate;
434 HRSRC hResource;
435 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000436} OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
437
438DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
439DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
440DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
441
442
443/***********************************************************************************
444 * BUSY DIALOG
445 */
446typedef struct tagOLEUIBUSYA
447{
Vincent Béron9a624912002-05-31 23:06:46 +0000448 DWORD cbStruct;
449 DWORD dwFlags;
450 HWND hWndOwner;
451 LPCSTR lpszCaption;
452 LPFNOLEUIHOOK lpfnHook;
453 LPARAM lCustData;
454 HINSTANCE hInstance;
455 LPCSTR lpszTemplate;
456 HRSRC hResource;
457 HTASK hTask;
458 HWND* lphWndDialog;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000459} OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
460
461typedef struct tagOLEUIBUSYW
462{
Vincent Béron9a624912002-05-31 23:06:46 +0000463 DWORD cbStruct;
464 DWORD dwFlags;
465 HWND hWndOwner;
466 LPCWSTR lpszCaption;
467 LPFNOLEUIHOOK lpfnHook;
468 LPARAM lCustData;
469 HINSTANCE hInstance;
470 LPCWSTR lpszTemplate;
471 HRSRC hResource;
472 HTASK hTask;
473 HWND* lphWndDialog;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000474} OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
475
476DECL_WINELIB_TYPE_AW(OLEUIBUSY)
477DECL_WINELIB_TYPE_AW(POLEUIBUSY)
478DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
479
480
481struct tagOLEUIOBJECTPROPSW;
482struct tagOLEUIOBJECTPROPSA;
483
484typedef struct tagOLEUIGNRLPROPSA
485{
Vincent Béron9a624912002-05-31 23:06:46 +0000486 DWORD cbStruct;
487 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000488 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000489 LPFNOLEUIHOOK lpfnHook;
490 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000491 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000492 struct tagOLEUIOBJECTPROPSA* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000493
494} OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
495
496typedef struct tagOLEUIGNRLPROPSW
497{
Vincent Béron9a624912002-05-31 23:06:46 +0000498 DWORD cbStruct;
499 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000500 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000501 LPFNOLEUIHOOK lpfnHook;
502 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000503 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000504 struct tagOLEUIOBJECTPROPSW* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000505} OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
506
507DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
508DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
509DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
510
511typedef struct tagOLEUIVIEWPROPSA
512{
Vincent Béron9a624912002-05-31 23:06:46 +0000513 DWORD cbStruct;
514 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000515 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000516 LPFNOLEUIHOOK lpfnHook;
517 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000518 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000519 struct tagOLEUIOBJECTPROPSA* lpOP;
520 INT nScaleMin;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000521 INT nScaleMax;
522} OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
523
524typedef struct tagOLEUIVIEWPROPSW
525{
Vincent Béron9a624912002-05-31 23:06:46 +0000526 DWORD cbStruct;
527 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000528 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000529 LPFNOLEUIHOOK lpfnHook;
530 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000531 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000532 struct tagOLEUIOBJECTPROPSW* lpOP;
533 INT nScaleMin;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000534 INT nScaleMax;
535} OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
536
537DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
538DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
539DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
540
541
Vincent Béron9a624912002-05-31 23:06:46 +0000542#define VPF_SELECTRELATIVE 0x00000001L
543#define VPF_DISABLERELATIVE 0x00000002L
544#define VPF_DISABLESCALE 0x00000004L
Adrian Thurstond3354d01999-03-24 15:05:05 +0000545
546typedef struct tagOLEUILINKPROPSA
547{
Vincent Béron9a624912002-05-31 23:06:46 +0000548 DWORD cbStruct;
549 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000550 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000551 LPFNOLEUIHOOK lpfnHook;
552 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000553 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000554 struct tagOLEUIOBJECTPROPSA* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000555} OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
556
557typedef struct tagOLEUILINKPROPSW
558{
Vincent Béron9a624912002-05-31 23:06:46 +0000559 DWORD cbStruct;
560 DWORD dwFlags;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000561 DWORD dwReserved1[2];
Vincent Béron9a624912002-05-31 23:06:46 +0000562 LPFNOLEUIHOOK lpfnHook;
563 LPARAM lCustData;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000564 DWORD dwReserved2[3];
Vincent Béron9a624912002-05-31 23:06:46 +0000565 struct tagOLEUIOBJECTPROPSW* lpOP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000566} OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
567
568DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
569DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
570DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
571
572typedef struct tagOLEUIOBJECTPROPSA
573{
Vincent Béron9a624912002-05-31 23:06:46 +0000574 DWORD cbStruct;
575 DWORD dwFlags;
576 LPPROPSHEETHEADERA lpPS;
577 DWORD dwObject;
578 LPOLEUIOBJINFOA lpObjInfo;
579 DWORD dwLink;
580 LPOLEUILINKINFOA lpLinkInfo;
581 LPOLEUIGNRLPROPSA lpGP;
582 LPOLEUIVIEWPROPSA lpVP;
583 LPOLEUILINKPROPSA lpLP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000584} OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
585
586typedef struct tagOLEUIOBJECTPROPSW
587{
Vincent Béron9a624912002-05-31 23:06:46 +0000588 DWORD cbStruct;
589 DWORD dwFlags;
590 LPPROPSHEETHEADERW lpPS;
591 DWORD dwObject;
592 LPOLEUIOBJINFOW lpObjInfo;
593 DWORD dwLink;
594 LPOLEUILINKINFOW lpLinkInfo;
595 LPOLEUIGNRLPROPSW lpGP;
596 LPOLEUIVIEWPROPSW lpVP;
597 LPOLEUILINKPROPSW lpLP;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000598} OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
599
600DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
601DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
602DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
603
604/************************************************************************************
605 * CHANGE SOURCE DIALOG
606 */
607
608
609typedef struct tagOLEUICHANGESOURCEW
610{
Vincent Béron9a624912002-05-31 23:06:46 +0000611 DWORD cbStruct;
612 DWORD dwFlags;
613 HWND hWndOwner;
614 LPCWSTR lpszCaption;
615 LPFNOLEUIHOOK lpfnHook;
616 LPARAM lCustData;
617 HINSTANCE hInstance;
618 LPCWSTR lpszTemplate;
619 HRSRC hResource;
620 OPENFILENAMEW*lpOFN;
621 DWORD dwReserved1[4];
622 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
623 DWORD dwLink;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000624 LPWSTR lpszDisplayName;
Vincent Béron9a624912002-05-31 23:06:46 +0000625 ULONG nFileLength;
626 LPWSTR lpszFrom;
627 LPWSTR lpszTo;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000628} OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
629
630
631typedef struct tagOLEUICHANGESOURCEA
632{
Vincent Béron9a624912002-05-31 23:06:46 +0000633 DWORD cbStruct;
634 DWORD dwFlags;
635 HWND hWndOwner;
636 LPCSTR lpszCaption;
637 LPFNOLEUIHOOK lpfnHook;
638 LPARAM lCustData;
639 HINSTANCE hInstance;
640 LPCSTR lpszTemplate;
641 HRSRC hResource;
642 OPENFILENAMEA* lpOFN;
643 DWORD dwReserved1[4];
644 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
645 DWORD dwLink;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000646 LPSTR lpszDisplayName;
Vincent Béron9a624912002-05-31 23:06:46 +0000647 ULONG nFileLength;
648 LPSTR lpszFrom;
649 LPSTR lpszTo;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000650} OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
651
652
653DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
654DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
655DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
656
657
658/*****************************************************************************
659 * IOleUILinkContainer interface
660 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000661#define INTERFACE IOleUILinkContainerA
Adrian Thurstond3354d01999-03-24 15:05:05 +0000662#define IOleUILinkContainerA_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000663 IUnknown_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000664 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
665 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
666 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
667 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
668 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
669 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
670 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
671 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
672 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
673 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
674 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000675ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000676#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000677
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000678#define INTERFACE IOleUILinkContainerW
Adrian Thurstond3354d01999-03-24 15:05:05 +0000679#define IOleUILinkContainerW_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000680 IUnknown_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000681 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
682 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
683 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
684 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
685 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
686 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
687 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
688 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
689 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
690 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
691 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000692ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000693#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000694
695DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
696DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
697DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
698
Alexandre Julliard55379112003-04-10 21:13:58 +0000699#ifdef COBJMACROS
Adrian Thurstond3354d01999-03-24 15:05:05 +0000700/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000701#define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
702#define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
703#define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000704/*** IOleUILinkContainer methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000705#define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
706#define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
707#define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
708#define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
709#define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
710#define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
711#define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
712#define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000713#endif
714
715
716/*****************************************************************************
717 * IOleUILinkInfo interface
718 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000719#define INTERFACE IOleUILinkInfoA
Adrian Thurstond3354d01999-03-24 15:05:05 +0000720#define IOleUILinkInfoA_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000721 IOleUILinkContainerA_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000722 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000723ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000724#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000725
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000726#define INTERFACE IOleUILinkInfoW
Adrian Thurstond3354d01999-03-24 15:05:05 +0000727#define IOleUILinkInfoW_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000728 IOleUILinkContainerW_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000729 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000730ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000731#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000732
733DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
734DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
735DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
736
Alexandre Julliard55379112003-04-10 21:13:58 +0000737#ifdef COBJMACROS
Adrian Thurstond3354d01999-03-24 15:05:05 +0000738/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000739#define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
740#define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
741#define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000742/*** IOleUILinkContainer methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000743#define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
744#define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
745#define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
746#define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
747#define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
748#define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
749#define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
750#define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
Vincent Béron9a624912002-05-31 23:06:46 +0000751/*** IOleUILinkInfo methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000752#define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
753#endif
Adrian Thurstond3354d01999-03-24 15:05:05 +0000754
755
756/*****************************************************************************
757 * IOleUIObjInfo interface
758 */
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000759#define INTERFACE IOleUIObjInfoA
Adrian Thurstond3354d01999-03-24 15:05:05 +0000760#define IOleUIObjInfoA_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000761 IUnknown_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000762 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
763 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
764 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
765 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
766 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
767 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
768 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
769 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000770ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000771#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000772
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000773#define INTERFACE IOleUIObjInfoW
Adrian Thurstond3354d01999-03-24 15:05:05 +0000774#define IOleUIObjInfoW_METHODS \
Alexandre Julliardaae3cb62003-04-11 00:31:02 +0000775 IUnknown_METHODS \
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000776 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
777 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
778 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
779 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
780 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
781 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
782 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
783 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
Adrian Thurstond3354d01999-03-24 15:05:05 +0000784ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
Alexandre Julliardf00c46f2003-04-10 00:19:24 +0000785#undef INTERFACE
Adrian Thurstond3354d01999-03-24 15:05:05 +0000786
787DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
788DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
789DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
790
Alexandre Julliard55379112003-04-10 21:13:58 +0000791#ifdef COBJMACROS
Adrian Thurstond3354d01999-03-24 15:05:05 +0000792/*** IUnknown methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000793#define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
794#define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
795#define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000796/*** IOleUIObjInfo methods ***/
Alexandre Julliard55379112003-04-10 21:13:58 +0000797#define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
798#define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
799#define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
800#define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
801#define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
802#endif
Adrian Thurstond3354d01999-03-24 15:05:05 +0000803
804UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
805UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
806#define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
807UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
808UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
809#define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
810UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
811UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
812#define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
813UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
814UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
815#define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
816UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
817UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
818#define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
819UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
820UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
821#define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
822UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
823UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
824#define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
825BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
826BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
827#define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
828BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
829 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
830BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
831 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
832#define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
833UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
834UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
Vincent Béron9a624912002-05-31 23:06:46 +0000835#define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
Alexandre Julliard2fdc4dc2003-11-26 04:11:56 +0000836INT __cdecl OleUIPromptUserA(INT,HWND, ...);
837INT __cdecl OleUIPromptUserW(INT,HWND, ...);
838#define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
Adrian Thurstond3354d01999-03-24 15:05:05 +0000839
840#ifdef __cplusplus
841} /* Extern "C" */
842#endif
843
Alexandre Julliarda0d77311998-09-13 16:32:00 +0000844
845#endif /* __WINE_OLEDLG_H */