Well, SetParent doesn't work properly at all, but at least it must preserve
[wine.git] / include / oledlg.h
blob4ee424807d1b71e0889d7d4e9ff54c1dcf681bab
1 /*
2 * oledlg.h - Declarations for OLEDLG
3 */
5 #ifndef __WINE_OLEDLG_H
6 #define __WINE_OLEDLG_H
8 #include "commdlg.h"
9 #include "prsht.h"
10 #include "windef.h"
11 #include "oleidl.h"
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
18 typedef struct IOleUILinkContainerA IOleUILinkContainerA, *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
19 typedef struct IOleUILinkContainerW IOleUILinkContainerW, *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
21 typedef struct IOleUILinkInfoA IOleUILinkInfoA, *POLEUILINKINFOA, *LPOLEUILINKINFOA;
22 typedef struct IOleUILinkInfoW IOleUILinkInfoW, *POLEUILINKINFOW, *LPOLEUILINKINFOW;
24 typedef struct IOleUIObjInfoA IOleUIObjInfoA, *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
25 typedef struct IOleUIObjInfoW IOleUIObjInfoW, *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
27 #define IDC_OLEUIHELP 99
29 /* Change Source Dialog flags */
30 #define CSF_SHOWHELP 0x00000001L
31 #define CSF_VALIDSOURCE 0x00000002L
32 #define CSF_ONLYGETSOURCE 0x00000004L
33 #define CSF_EXPLORER 0x00000008L
35 #define PSF_SHOWHELP 0x00000001L
36 #define PSF_SELECTPASTE 0x00000002L
37 #define PSF_SELECTPASTELINK 0x00000004L
38 #define PSF_CHECKDISPLAYASICON 0x00000008L
39 #define PSF_DISABLEDISPLAYASICON 0x00000010L
40 #define PSF_HIDECHANGEICON 0x00000020L
41 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
42 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
44 #define IOF_SHOWHELP 0x00000001L
45 #define IOF_SELECTCREATENEW 0x00000002L
46 #define IOF_SELECTCREATEFROMFILE 0x00000004L
47 #define IOF_CHECKLINK 0x00000008L
48 #define IOF_CHECKDISPLAYASICON 0x00000010L
49 #define IOF_CREATENEWOBJECT 0x00000020L
50 #define IOF_CREATEFILEOBJECT 0x00000040L
51 #define IOF_CREATELINKOBJECT 0x00000080L
52 #define IOF_DISABLELINK 0x00000100L
53 #define IOF_VERIFYSERVERSEXIST 0x00000200L
54 #define IOF_DISABLEDISPLAYASICON 0x00000400L
55 #define IOF_HIDECHANGEICON 0x00000800L
56 #define IOF_SHOWINSERTCONTROL 0x00001000L
57 #define IOF_SELECTCREATECONTROL 0x00002000L
59 #define CF_SHOWHELPBUTTON 0x00000001L
60 #define CF_SETCONVERTDEFAULT 0x00000002L
61 #define CF_SETACTIVATEDEFAULT 0x00000004L
62 #define CF_SELECTCONVERTTO 0x00000008L
63 #define CF_SELECTACTIVATEAS 0x00000010L
64 #define CF_DISABLEDISPLAYASICON 0x00000020L
65 #define CF_DISABLEACTIVATEAS 0x00000040L
66 #define CF_HIDECHANGEICON 0x00000080L
67 #define CF_CONVERTONLY 0x00000100L
69 #define CIF_SHOWHELP 0x00000001L
70 #define CIF_SELECTCURRENT 0x00000002L
71 #define CIF_SELECTDEFAULT 0x00000004L
72 #define CIF_SELECTFROMFILE 0x00000008L
73 #define CIF_USEICONEXE 0x00000010L
75 #define BZ_DISABLECANCELBUTTON 0x00000001L
76 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
77 #define BZ_DISABLERETRYBUTTON 0x00000004L
78 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
80 #define OLEUI_ERR_STANDARDMAX 116
82 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
83 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
84 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
85 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
87 #define OLEUI_FALSE 0
88 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
89 #define OLEUI_OK 1 /* OK button pressed */
90 #define OLEUI_CANCEL 2 /* Cancel button pressed */
92 #define OPF_OBJECTISLINK 0x00000001L
93 #define OPF_NOFILLDEFAULT 0x00000002L
94 #define OPF_SHOWHELP 0x00000004L
95 #define OPF_DISABLECONVERT 0x00000008L
97 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
99 /*****************************************************************************
100 * INSERT OBJECT DIALOG
102 typedef struct tagOLEUIINSERTOBJECTA
104 DWORD cbStruct;
105 DWORD dwFlags;
106 HWND hWndOwner;
107 LPCSTR lpszCaption;
108 LPFNOLEUIHOOK lpfnHook;
109 LPARAM lCustData;
110 HINSTANCE hInstance;
111 LPCSTR lpszTemplate;
112 HRSRC hResource;
113 CLSID clsid;
114 LPSTR lpszFile;
115 UINT cchFile;
116 UINT cClsidExclude;
117 LPCLSID lpClsidExclude;
118 IID iid;
119 DWORD oleRender;
120 LPFORMATETC lpFormatEtc;
121 LPOLECLIENTSITE lpIOleClientSite;
122 LPSTORAGE lpIStorage;
123 LPVOID *ppvObj;
124 SCODE sc;
125 HGLOBAL hMetaPict;
126 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
128 typedef struct tagOLEUIINSERTOBJECTW
130 DWORD cbStruct;
131 DWORD dwFlags;
132 HWND hWndOwner;
133 LPCWSTR lpszCaption;
134 LPFNOLEUIHOOK lpfnHook;
135 LPARAM lCustData;
136 HINSTANCE hInstance;
137 LPCWSTR lpszTemplate;
138 HRSRC hResource;
139 CLSID clsid;
140 LPWSTR lpszFile;
141 UINT cchFile;
142 UINT cClsidExclude;
143 LPCLSID lpClsidExclude;
144 IID iid;
145 DWORD oleRender;
146 LPFORMATETC lpFormatEtc;
147 LPOLECLIENTSITE lpIOleClientSite;
148 LPSTORAGE lpIStorage;
149 LPVOID *ppvObj;
150 SCODE sc;
151 HGLOBAL hMetaPict;
152 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
154 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
155 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
156 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
159 /*****************************************************************************
160 * CONVERT DIALOG
162 typedef struct tagOLEUICONVERTA
164 DWORD cbStruct;
165 DWORD dwFlags;
166 HWND hWndOwner;
167 LPCSTR lpszCaption;
168 LPFNOLEUIHOOK lpfnHook;
169 LPARAM lCustData;
170 HINSTANCE hInstance;
171 LPCSTR lpszTemplate;
172 HRSRC hResource;
173 CLSID clsid;
174 CLSID clsidConvertDefault;
175 CLSID clsidActivateDefault;
176 CLSID clsidNew;
177 DWORD dvAspect;
178 WORD wFormat;
179 BOOL fIsLinkedObject;
180 HGLOBAL hMetaPict;
181 LPSTR lpszUserType;
182 BOOL fObjectsIconChanged;
183 LPSTR lpszDefLabel;
184 UINT cClsidExclude;
185 LPCLSID lpClsidExclude;
186 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
188 typedef struct tagOLEUICONVERTW
190 DWORD cbStruct;
191 DWORD dwFlags;
192 HWND hWndOwner;
193 LPCWSTR lpszCaption;
194 LPFNOLEUIHOOK lpfnHook;
195 LPARAM lCustData;
196 HINSTANCE hInstance;
197 LPCWSTR lpszTemplate;
198 HRSRC hResource;
199 CLSID clsid;
200 CLSID clsidConvertDefault;
201 CLSID clsidActivateDefault;
202 CLSID clsidNew;
203 DWORD dvAspect;
204 WORD wFormat;
205 BOOL fIsLinkedObject;
206 HGLOBAL hMetaPict;
207 LPWSTR lpszUserType;
208 BOOL fObjectsIconChanged;
209 LPWSTR lpszDefLabel;
210 UINT cClsidExclude;
211 LPCLSID lpClsidExclude;
212 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
214 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
215 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
216 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
218 /*****************************************************************************
219 * CHANGE ICON DIALOG
221 typedef struct tagOLEUICHANGEICONA
223 DWORD cbStruct;
224 DWORD dwFlags;
225 HWND hWndOwner;
226 LPCSTR lpszCaption;
227 LPFNOLEUIHOOK lpfnHook;
228 LPARAM lCustData;
229 HINSTANCE hInstance;
230 LPCSTR lpszTemplate;
231 HRSRC hResource;
232 HGLOBAL hMetaPict;
233 CLSID clsid;
234 CHAR szIconExe[MAX_PATH];
235 INT cchIconExe;
236 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
238 typedef struct tagOLEUICHANGEICONW
240 DWORD cbStruct;
241 DWORD dwFlags;
242 HWND hWndOwner;
243 LPCWSTR lpszCaption;
244 LPFNOLEUIHOOK lpfnHook;
245 LPARAM lCustData;
246 HINSTANCE hInstance;
247 LPCWSTR lpszTemplate;
248 HRSRC hResource;
249 HGLOBAL hMetaPict;
250 CLSID clsid;
251 WCHAR szIconExe[MAX_PATH];
252 INT cchIconExe;
253 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
255 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
256 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
257 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
260 /*****************************************************************************
261 * PASTE SPECIAL DIALOG
264 typedef enum tagOLEUIPASTEFLAG
266 OLEUIPASTE_ENABLEICON = 2048,
267 OLEUIPASTE_PASTEONLY = 0,
268 OLEUIPASTE_PASTE = 512,
269 OLEUIPASTE_LINKANYTYPE = 1024,
270 OLEUIPASTE_LINKTYPE1 = 1,
271 OLEUIPASTE_LINKTYPE2 = 2,
272 OLEUIPASTE_LINKTYPE3 = 4,
273 OLEUIPASTE_LINKTYPE4 = 8,
274 OLEUIPASTE_LINKTYPE5 = 16,
275 OLEUIPASTE_LINKTYPE6 = 32,
276 OLEUIPASTE_LINKTYPE7 = 64,
277 OLEUIPASTE_LINKTYPE8 = 128
278 } OLEUIPASTEFLAG;
280 typedef struct tagOLEUIPASTEENTRYA
282 FORMATETC fmtetc;
283 LPCSTR lpstrFormatName;
284 LPCSTR lpstrResultText;
285 DWORD dwFlags;
286 DWORD dwScratchSpace;
287 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
289 typedef struct tagOLEUIPASTEENTRYW
291 FORMATETC fmtetc;
292 LPCWSTR lpstrFormatName;
293 LPCWSTR lpstrResultText;
294 DWORD dwFlags;
295 DWORD dwScratchSpace;
296 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
298 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
299 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
300 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
302 typedef struct tagOLEUIPASTESPECIALA
304 DWORD cbStruct;
305 DWORD dwFlags;
306 HWND hWndOwner;
307 LPCSTR lpszCaption;
308 LPFNOLEUIHOOK lpfnHook;
309 LPARAM lCustData;
310 HINSTANCE hInstance;
311 LPCSTR lpszTemplate;
312 HRSRC hResource;
313 LPDATAOBJECT lpSrcDataObj;
314 LPOLEUIPASTEENTRYA arrPasteEntries;
315 INT cPasteEntries;
316 UINT* arrLinkTypes;
317 INT cLinkTypes;
318 UINT cClsidExclude;
319 LPCLSID lpClsidExclude;
320 INT nSelectedIndex;
321 BOOL fLink;
322 HGLOBAL hMetaPict;
323 SIZEL sizel;
324 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
326 typedef struct tagOLEUIPASTESPECIALW
328 DWORD cbStruct;
329 DWORD dwFlags;
330 HWND hWndOwner;
331 LPCWSTR lpszCaption;
332 LPFNOLEUIHOOK lpfnHook;
333 LPARAM lCustData;
334 HINSTANCE hInstance;
335 LPCWSTR lpszTemplate;
336 HRSRC hResource;
337 LPDATAOBJECT lpSrcDataObj;
338 LPOLEUIPASTEENTRYW arrPasteEntries;
339 INT cPasteEntries;
340 UINT* arrLinkTypes;
341 INT cLinkTypes;
342 UINT cClsidExclude;
343 LPCLSID lpClsidExclude;
344 INT nSelectedIndex;
345 BOOL fLink;
346 HGLOBAL hMetaPict;
347 SIZEL sizel;
348 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
350 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
351 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
352 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
354 #define PSF_SHOWHELP 0x00000001L
355 #define PSF_SELECTPASTE 0x00000002L
356 #define PSF_SELECTPASTELINK 0x00000004L
358 #define PSF_CHECKDISPLAYASICON 0x00000008L
359 #define PSF_DISABLEDISPLAYASICON 0x00000010L
360 #define PSF_HIDECHANGEICON 0x00000020L
361 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
362 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
364 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
365 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
366 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
367 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
368 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
370 #define ELF_SHOWHELP 0x00000001L
371 #define ELF_DISABLEUPDATENOW 0x00000002L
372 #define ELF_DISABLEOPENSOURCE 0x00000004L
373 #define ELF_DISABLECHANGESOURCE 0x00000008L
374 #define ELF_DISABLECANCELLINK 0x00000010L
376 typedef struct tagOLEUIEDITLINKSW
378 DWORD cbStruct;
379 DWORD dwFlags;
380 HWND hWndOwner;
381 LPCWSTR lpszCaption;
382 LPFNOLEUIHOOK lpfnHook;
383 LPARAM lCustData;
384 HINSTANCE hInstance;
385 LPCWSTR lpszTemplate;
386 HRSRC hResource;
387 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
388 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
390 typedef struct tagOLEUIEDITLINKSA
392 DWORD cbStruct;
393 DWORD dwFlags;
394 HWND hWndOwner;
395 LPCSTR lpszCaption;
396 LPFNOLEUIHOOK lpfnHook;
397 LPARAM lCustData;
398 HINSTANCE hInstance;
399 LPCSTR lpszTemplate;
400 HRSRC hResource;
401 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
402 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
404 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
405 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
406 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
409 /***********************************************************************************
410 * BUSY DIALOG
412 typedef struct tagOLEUIBUSYA
414 DWORD cbStruct;
415 DWORD dwFlags;
416 HWND hWndOwner;
417 LPCSTR lpszCaption;
418 LPFNOLEUIHOOK lpfnHook;
419 LPARAM lCustData;
420 HINSTANCE hInstance;
421 LPCSTR lpszTemplate;
422 HRSRC hResource;
423 HTASK hTask;
424 HWND* lphWndDialog;
425 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
427 typedef struct tagOLEUIBUSYW
429 DWORD cbStruct;
430 DWORD dwFlags;
431 HWND hWndOwner;
432 LPCWSTR lpszCaption;
433 LPFNOLEUIHOOK lpfnHook;
434 LPARAM lCustData;
435 HINSTANCE hInstance;
436 LPCWSTR lpszTemplate;
437 HRSRC hResource;
438 HTASK hTask;
439 HWND* lphWndDialog;
440 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
442 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
443 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
444 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
447 struct tagOLEUIOBJECTPROPSW;
448 struct tagOLEUIOBJECTPROPSA;
450 typedef struct tagOLEUIGNRLPROPSA
452 DWORD cbStruct;
453 DWORD dwFlags;
454 DWORD dwReserved1[2];
455 LPFNOLEUIHOOK lpfnHook;
456 LPARAM lCustData;
457 DWORD dwReserved2[3];
458 struct tagOLEUIOBJECTPROPSA* lpOP;
460 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
462 typedef struct tagOLEUIGNRLPROPSW
464 DWORD cbStruct;
465 DWORD dwFlags;
466 DWORD dwReserved1[2];
467 LPFNOLEUIHOOK lpfnHook;
468 LPARAM lCustData;
469 DWORD dwReserved2[3];
470 struct tagOLEUIOBJECTPROPSW* lpOP;
471 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
473 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
474 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
475 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
477 typedef struct tagOLEUIVIEWPROPSA
479 DWORD cbStruct;
480 DWORD dwFlags;
481 DWORD dwReserved1[2];
482 LPFNOLEUIHOOK lpfnHook;
483 LPARAM lCustData;
484 DWORD dwReserved2[3];
485 struct tagOLEUIOBJECTPROPSA* lpOP;
486 INT nScaleMin;
487 INT nScaleMax;
488 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
490 typedef struct tagOLEUIVIEWPROPSW
492 DWORD cbStruct;
493 DWORD dwFlags;
494 DWORD dwReserved1[2];
495 LPFNOLEUIHOOK lpfnHook;
496 LPARAM lCustData;
497 DWORD dwReserved2[3];
498 struct tagOLEUIOBJECTPROPSW* lpOP;
499 INT nScaleMin;
500 INT nScaleMax;
501 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
503 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
504 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
505 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
508 #define VPF_SELECTRELATIVE 0x00000001L
509 #define VPF_DISABLERELATIVE 0x00000002L
510 #define VPF_DISABLESCALE 0x00000004L
512 typedef struct tagOLEUILINKPROPSA
514 DWORD cbStruct;
515 DWORD dwFlags;
516 DWORD dwReserved1[2];
517 LPFNOLEUIHOOK lpfnHook;
518 LPARAM lCustData;
519 DWORD dwReserved2[3];
520 struct tagOLEUIOBJECTPROPSA* lpOP;
521 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
523 typedef struct tagOLEUILINKPROPSW
525 DWORD cbStruct;
526 DWORD dwFlags;
527 DWORD dwReserved1[2];
528 LPFNOLEUIHOOK lpfnHook;
529 LPARAM lCustData;
530 DWORD dwReserved2[3];
531 struct tagOLEUIOBJECTPROPSW* lpOP;
532 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
534 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
535 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
536 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
538 typedef struct tagOLEUIOBJECTPROPSA
540 DWORD cbStruct;
541 DWORD dwFlags;
542 LPPROPSHEETHEADERA lpPS;
543 DWORD dwObject;
544 LPOLEUIOBJINFOA lpObjInfo;
545 DWORD dwLink;
546 LPOLEUILINKINFOA lpLinkInfo;
547 LPOLEUIGNRLPROPSA lpGP;
548 LPOLEUIVIEWPROPSA lpVP;
549 LPOLEUILINKPROPSA lpLP;
550 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
552 typedef struct tagOLEUIOBJECTPROPSW
554 DWORD cbStruct;
555 DWORD dwFlags;
556 LPPROPSHEETHEADERW lpPS;
557 DWORD dwObject;
558 LPOLEUIOBJINFOW lpObjInfo;
559 DWORD dwLink;
560 LPOLEUILINKINFOW lpLinkInfo;
561 LPOLEUIGNRLPROPSW lpGP;
562 LPOLEUIVIEWPROPSW lpVP;
563 LPOLEUILINKPROPSW lpLP;
564 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
566 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
567 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
568 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
570 /************************************************************************************
571 * CHANGE SOURCE DIALOG
575 typedef struct tagOLEUICHANGESOURCEW
577 DWORD cbStruct;
578 DWORD dwFlags;
579 HWND hWndOwner;
580 LPCWSTR lpszCaption;
581 LPFNOLEUIHOOK lpfnHook;
582 LPARAM lCustData;
583 HINSTANCE hInstance;
584 LPCWSTR lpszTemplate;
585 HRSRC hResource;
586 OPENFILENAMEW*lpOFN;
587 DWORD dwReserved1[4];
588 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
589 DWORD dwLink;
590 LPWSTR lpszDisplayName;
591 ULONG nFileLength;
592 LPWSTR lpszFrom;
593 LPWSTR lpszTo;
594 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
597 typedef struct tagOLEUICHANGESOURCEA
599 DWORD cbStruct;
600 DWORD dwFlags;
601 HWND hWndOwner;
602 LPCSTR lpszCaption;
603 LPFNOLEUIHOOK lpfnHook;
604 LPARAM lCustData;
605 HINSTANCE hInstance;
606 LPCSTR lpszTemplate;
607 HRSRC hResource;
608 OPENFILENAMEA* lpOFN;
609 DWORD dwReserved1[4];
610 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
611 DWORD dwLink;
612 LPSTR lpszDisplayName;
613 ULONG nFileLength;
614 LPSTR lpszFrom;
615 LPSTR lpszTo;
616 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
619 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
620 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
621 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
624 /*****************************************************************************
625 * IOleUILinkContainer interface
627 #define ICOM_INTERFACE IOleUILinkContainerA
628 #define IOleUILinkContainerA_METHODS \
629 ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
630 ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
631 ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
632 ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPSTR,lpszDisplayName, \
633 ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
634 ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
635 LPSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
636 LPSTR*,lplpszFullLinkType, LPSTR*,lplpszShortLinkType, \
637 BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
638 ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
639 ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
640 BOOL,fErrorMessage, BOOL,fReserved) \
641 ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
642 #define IOleUILinkContainerA_IMETHODS \
643 IUnknown_IMETHODS \
644 IOleUILinkContainerA_METHODS
645 ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
646 #undef ICOM_INTERFACE
648 #define ICOM_INTERFACE IOleUILinkContainerW
649 #define IOleUILinkContainerW_METHODS \
650 ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
651 ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
652 ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
653 ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPWSTR,lpszDisplayName, \
654 ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
655 ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
656 LPWSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
657 LPWSTR*,lplpszFullLinkType, LPWSTR*,lplpszShortLinkType, \
658 BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
659 ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
660 ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
661 BOOL,fErrorMessage, BOOL,fReserved) \
662 ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
663 #define IOleUILinkContainerW_IMETHODS \
664 IUnknown_IMETHODS \
665 IOleUILinkContainerW_METHODS
666 ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
667 #undef ICOM_INTERFACE
669 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
670 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
671 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
673 #if ICOM_INTERFACE
674 /*** IUnknown methods ***/
675 #define IOleUILinkContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
676 #define IOleUILinkContainer_AddRef(p) ICOM_CALL (AddRef,p)
677 #define IOleUILinkContainer_Release(p) ICOM_CALL (Release,p)
678 /*** IOleUILinkContainer methods ***/
679 #define IOleUILinkContainer_GetNextLink(p,a) ICOM_CALL1(GetNextLink,p,a)
680 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) ICOM_CALL2(SetLinkUpdateOptions,p,a,b)
681 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) ICOM_CALL2(GetLinkUpdateOptions,p,a,b)
682 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) ICOM_CALL5(SetLinkSource,p,a,b,c,d,e)
683 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) ICOM_CALL7(GetLinkSource,p,a,b,c,d,e,f,g)
684 #define IOleUILinkContainer_OpenLinkSource(p,a) ICOM_CALL1(OpenLinkSource,p,a)
685 #define IOleUILinkContainer_UpdateLink(p,a,b,c) ICOM_CALL3(UpdateLink,p,a,b,c)
686 #define IOleUILinkContainer_CancelLink(p,a) ICOM_CALL1(CancelLink,p,a)
687 #endif
690 /*****************************************************************************
691 * IOleUILinkInfo interface
693 #define ICOM_INTERFACE IOleUILinkInfoA
694 #define IOleUILinkInfoA_METHODS \
695 ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
696 #define IOleUILinkInfoA_IMETHODS \
697 IOleUILinkContainerA_IMETHODS \
698 IOleUILinkInfoA_METHODS
699 ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
700 #undef ICOM_INTERFACE
702 #define ICOM_INTERFACE IOleUILinkInfoW
703 #define IOleUILinkInfoW_METHODS \
704 ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
705 #define IOleUILinkInfoW_IMETHODS \
706 IOleUILinkContainerW_IMETHODS \
707 IOleUILinkInfoW_METHODS
708 ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
709 #undef ICOM_INTERFACE
711 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
712 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
713 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
715 /*** IUnknown methods ***/
716 #define IOleUILinkInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
717 #define IOleUILinkInfo_AddRef(p) ICOM_CALL (AddRef,p)
718 #define IOleUILinkInfo_Release(p) ICOM_CALL (Release,p)
719 /*** IOleUILinkContainer methods ***/
720 #define IOleUILinkInfo_GetNextLink(p,a) ICOM_CALL1(GetNextLink,p,a)
721 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) ICOM_CALL2(SetLinkUpdateOptions,p,a,b)
722 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) ICOM_CALL2(GetLinkUpdateOptions,p,a,b)
723 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) ICOM_CALL5(SetLinkSource,p,a,b,c,d,e)
724 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) ICOM_CALL7(GetLinkSource,p,a,b,c,d,e,f,g)
725 #define IOleUILinkInfo_OpenLinkSource(p,a) ICOM_CALL1(OpenLinkSource,p,a)
726 #define IOleUILinkInfo_UpdateLink(p,a,b,c) ICOM_CALL3(UpdateLink,p,a,b,c)
727 #define IOleUILinkInfo_CancelLink(p,a) ICOM_CALL1(CancelLink,p,a)
728 /*** IOleUILinkInfo methods ***/
729 #define IOleUILinkInfo_GetLastUpdate(p,a,b) ICOM_CALL2(GetLastUpdate,p,a,b)
732 /*****************************************************************************
733 * IOleUIObjInfo interface
735 #define ICOM_INTERFACE IOleUIObjInfoA
736 #define IOleUIObjInfoA_METHODS \
737 ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPSTR*,lplpszLabel, \
738 LPSTR*,lplpszType, LPSTR*,lplpszShortType, LPSTR*,lplpszLocation) \
739 ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
740 CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
741 ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
742 ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
743 HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
744 ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
745 HGLOBAL,hMetaPict, DWORD,dvAspect, \
746 INT,nCurrentScale, BOOL,bRelativeToOrig)
747 #define IOleUIObjInfoA_IMETHODS \
748 IUnknown_IMETHODS \
749 IOleUIObjInfoA_METHODS
750 ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
751 #undef ICOM_INTERFACE
753 #define ICOM_INTERFACE IOleUIObjInfoW
754 #define IOleUIObjInfoW_METHODS \
755 ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPWSTR*,lplpszLabel, \
756 LPWSTR*,lplpszType, LPWSTR*,lplpszShortType, LPWSTR*,lplpszLocation) \
757 ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
758 CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
759 ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
760 ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
761 HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
762 ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
763 HGLOBAL,hMetaPict, DWORD,dvAspect, \
764 INT,nCurrentScale, BOOL,bRelativeToOrig)
765 #define IOleUIObjInfoW_IMETHODS \
766 IUnknown_IMETHODS \
767 IOleUIObjInfoW_METHODS
768 ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
769 #undef ICOM_INTERFACE
771 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
772 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
773 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
775 /*** IUnknown methods ***/
776 #define IOleUIObjInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
777 #define IOleUIObjInfo_AddRef(p) ICOM_CALL (AddRef,p)
778 #define IOleUIObjInfo_Release(p) ICOM_CALL (Release,p)
779 /*** IOleUIObjInfo methods ***/
780 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) ICOM_CALL6(GetObjectInfo,p,a,b,c,d,e,f)
781 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) ICOM_CALL6(GetConvertInfo,p,a,b,c,d,e,f)
782 #define IOleUIObjInfo_ConvertObject(p,a,b) ICOM_CALL2(ConvertObject,p,a,b)
783 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) ICOM_CALL4(GetViewInfo,p,a,b,c,d)
784 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) ICOM_CALL5(SetViewInfo,p,a,b,c,d,e)
786 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
787 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
788 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
789 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
790 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
791 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
792 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
793 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
794 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
795 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
796 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
797 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
798 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
799 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
800 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
801 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
802 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
803 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
804 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
805 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
806 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
807 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
808 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
809 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
810 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
811 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
812 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
813 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
814 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
815 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
816 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
817 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
820 #ifdef __cplusplus
821 } /* Extern "C" */
822 #endif
825 #endif /* __WINE_OLEDLG_H */