2 * Declarations for OLEDLG
4 * Copyright (C) the Wine project
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_OLEDLG_H
22 #define __WINE_OLEDLG_H
42 typedef struct IOleUILinkContainerA *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
43 typedef struct IOleUILinkContainerW *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
45 typedef struct IOleUILinkInfoA *POLEUILINKINFOA, *LPOLEUILINKINFOA;
46 typedef struct IOleUILinkInfoW *POLEUILINKINFOW, *LPOLEUILINKINFOW;
48 typedef struct IOleUIObjInfoA *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
49 typedef struct IOleUIObjInfoW *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
51 #define IDC_OLEUIHELP 99
54 #define OLEUI_ERR_STANDARDMAX 116
56 #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
57 #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
58 #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
59 #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
62 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
63 #define OLEUI_OK 1 /* OK button pressed */
64 #define OLEUI_CANCEL 2 /* Cancel button pressed */
66 #define OLEUI_ERR_STANDARDMIN 100
67 #define OLEUI_ERR_OLEMEMALLOC 100
68 #define OLEUI_ERR_STRUCTURENULL 101
69 #define OLEUI_ERR_STRUCTUREINVALID 102
70 #define OLEUI_ERR_CBSTRUCTINCORRECT 103
71 #define OLEUI_ERR_HWNDOWNERINVALID 104
72 #define OLEUI_ERR_LPSZCAPTIONINVALID 105
73 #define OLEUI_ERR_LPFNHOOKINVALID 106
74 #define OLEUI_ERR_HINSTANCEINVALID 107
75 #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
76 #define OLEUI_ERR_HRESOURCEINVALID 109
77 #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
78 #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
79 #define OLEUI_ERR_DIALOGFAILURE 112
80 #define OLEUI_ERR_LOCALMEMALLOC 113
81 #define OLEUI_ERR_GLOBALMEMALLOC 114
82 #define OLEUI_ERR_LOADSTRING 115
83 #define OLEUI_ERR_STANDARDMAX 116
85 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
87 /*****************************************************************************
88 * Registered Message Names
90 #define SZOLEUI_MSG_HELPA "OLEUI_MSG_HELP"
91 #define SZOLEUI_MSG_ENDDIALOGA "OLEUI_MSG_ENDDIALOG"
92 #define SZOLEUI_MSG_BROWSEA "OLEUI_MSG_BROWSE"
93 #define SZOLEUI_MSG_CHANGEICONA "OLEUI_MSG_CHANGEICON"
94 #define SZOLEUI_MSG_CLOSEBUSYDIALOGA "OLEUI_MSG_CLOSEBUSYDIALOG"
95 #define SZOLEUI_MSG_CONVERTA "OLEUI_MSG_CONVERT"
96 #define SZOLEUI_MSG_CHANGESOURCEA "OLEUI_MSG_CHANGESOURCE"
97 #define SZOLEUI_MSG_ADDCONTROLA "OLEUI_MSG_ADDCONTROL"
98 #define SZOLEUI_MSG_BROWSE_OFNA "OLEUI_MSG_BROWSE_OFN"
100 # define SZOLEUI_MSG_HELPW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 }
101 # define SZOLEUI_MSG_ENDDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 }
102 # define SZOLEUI_MSG_BROWSEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 }
103 # define SZOLEUI_MSG_CHANGEICONW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 }
104 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 }
105 # define SZOLEUI_MSG_CONVERTW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 }
106 # define SZOLEUI_MSG_CHANGESOURCEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 }
107 # define SZOLEUI_MSG_ADDCONTROLW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 }
108 # define SZOLEUI_MSG_BROWSE_OFNW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 }
109 #elif defined(_MSC_VER)
110 # define SZOLEUI_MSG_HELPW L"OLEUI_MSG_HELP"
111 # define SZOLEUI_MSG_ENDDIALOGW L"OLEUI_MSG_ENDDIALOG"
112 # define SZOLEUI_MSG_BROWSEW L"OLEUI_MSG_BROWSE"
113 # define SZOLEUI_MSG_CHANGEICONW L"OLEUI_MSG_CHANGEICON"
114 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW L"OLEUI_MSG_CLOSEBUSYDIALOG"
115 # define SZOLEUI_MSG_CONVERTW L"OLEUI_MSG_CONVERT"
116 # define SZOLEUI_MSG_CHANGESOURCEW L"OLEUI_MSG_CHANGESOURCE"
117 # define SZOLEUI_MSG_ADDCONTROLW L"OLEUI_MSG_ADDCONTROL"
118 # define SZOLEUI_MSG_BROWSE_OFNW L"OLEUI_MSG_BROWSE_OFN"
120 static const WCHAR SZOLEUI_MSG_HELPW[] = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
121 static const WCHAR SZOLEUI_MSG_ENDDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
122 static const WCHAR SZOLEUI_MSG_BROWSEW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
123 static const WCHAR SZOLEUI_MSG_CHANGEICONW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 };
124 static const WCHAR SZOLEUI_MSG_CLOSEBUSYDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 };
125 static const WCHAR SZOLEUI_MSG_CONVERTW[] = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
126 static const WCHAR SZOLEUI_MSG_CHANGESOURCEW[] = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 };
127 static const WCHAR SZOLEUI_MSG_ADDCONTROLW[] = { 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 };
128 static const WCHAR SZOLEUI_MSG_BROWSE_OFNW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 };
130 #define SZOLEUI_MSG_HELP WINELIB_NAME_AW(SZOLEUI_MSG_HELP)
131 #define SZOLEUI_MSG_ENDDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_ENDDIALOG)
132 #define SZOLEUI_MSG_BROWSE WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE)
133 #define SZOLEUI_MSG_CHANGEICON WINELIB_NAME_AW(SZOLEUI_MSG_CHANGEICON)
134 #define SZOLEUI_MSG_CLOSEBUSYDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_CLOSEBUSYDIALOG)
135 #define SZOLEUI_MSG_CONVERT WINELIB_NAME_AW(SZOLEUI_MSG_CONVERT)
136 #define SZOLEUI_MSG_CHANGESOURCE WINELIB_NAME_AW(SZOLEUI_MSG_CHANGESOURCE)
137 #define SZOLEUI_MSG_ADDCONTROL WINELIB_NAME_AW(SZOLEUI_MSG_ADDCONTROL)
138 #define SZOLEUI_MSG_BROWSE_OFN WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE_OFN)
141 /*****************************************************************************
142 * INSERT OBJECT DIALOG
144 typedef struct tagOLEUIINSERTOBJECTA
150 LPFNOLEUIHOOK lpfnHook;
159 LPCLSID lpClsidExclude;
162 LPFORMATETC lpFormatEtc;
163 LPOLECLIENTSITE lpIOleClientSite;
164 LPSTORAGE lpIStorage;
168 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
170 typedef struct tagOLEUIINSERTOBJECTW
176 LPFNOLEUIHOOK lpfnHook;
179 LPCWSTR lpszTemplate;
185 LPCLSID lpClsidExclude;
188 LPFORMATETC lpFormatEtc;
189 LPOLECLIENTSITE lpIOleClientSite;
190 LPSTORAGE lpIStorage;
194 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
196 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
197 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
198 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
200 #define IOF_SHOWHELP 0x00000001L
201 #define IOF_SELECTCREATENEW 0x00000002L
202 #define IOF_SELECTCREATEFROMFILE 0x00000004L
203 #define IOF_CHECKLINK 0x00000008L
204 #define IOF_CHECKDISPLAYASICON 0x00000010L
205 #define IOF_CREATENEWOBJECT 0x00000020L
206 #define IOF_CREATEFILEOBJECT 0x00000040L
207 #define IOF_CREATELINKOBJECT 0x00000080L
208 #define IOF_DISABLELINK 0x00000100L
209 #define IOF_VERIFYSERVERSEXIST 0x00000200L
210 #define IOF_DISABLEDISPLAYASICON 0x00000400L
211 #define IOF_HIDECHANGEICON 0x00000800L
212 #define IOF_SHOWINSERTCONTROL 0x00001000L
213 #define IOF_SELECTCREATECONTROL 0x00002000L
215 /*****************************************************************************
218 typedef struct tagOLEUICONVERTA
224 LPFNOLEUIHOOK lpfnHook;
230 CLSID clsidConvertDefault;
231 CLSID clsidActivateDefault;
235 BOOL fIsLinkedObject;
238 BOOL fObjectsIconChanged;
241 LPCLSID lpClsidExclude;
242 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
244 typedef struct tagOLEUICONVERTW
250 LPFNOLEUIHOOK lpfnHook;
253 LPCWSTR lpszTemplate;
256 CLSID clsidConvertDefault;
257 CLSID clsidActivateDefault;
261 BOOL fIsLinkedObject;
264 BOOL fObjectsIconChanged;
267 LPCLSID lpClsidExclude;
268 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
270 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
271 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
272 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
274 #define CF_SHOWHELPBUTTON 0x00000001L
275 #define CF_SETCONVERTDEFAULT 0x00000002L
276 #define CF_SETACTIVATEDEFAULT 0x00000004L
277 #define CF_SELECTCONVERTTO 0x00000008L
278 #define CF_SELECTACTIVATEAS 0x00000010L
279 #define CF_DISABLEDISPLAYASICON 0x00000020L
280 #define CF_DISABLEACTIVATEAS 0x00000040L
281 #define CF_HIDECHANGEICON 0x00000080L
282 #define CF_CONVERTONLY 0x00000100L
284 /*****************************************************************************
287 typedef struct tagOLEUICHANGEICONA
293 LPFNOLEUIHOOK lpfnHook;
300 CHAR szIconExe[MAX_PATH];
302 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
304 typedef struct tagOLEUICHANGEICONW
310 LPFNOLEUIHOOK lpfnHook;
313 LPCWSTR lpszTemplate;
317 WCHAR szIconExe[MAX_PATH];
319 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
321 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
322 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
323 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
326 #define CIF_SHOWHELP 0x00000001L
327 #define CIF_SELECTCURRENT 0x00000002L
328 #define CIF_SELECTDEFAULT 0x00000004L
329 #define CIF_SELECTFROMFILE 0x00000008L
330 #define CIF_USEICONEXE 0x00000010L
332 /*****************************************************************************
333 * PASTE SPECIAL DIALOG
336 typedef enum tagOLEUIPASTEFLAG
338 OLEUIPASTE_ENABLEICON = 2048,
339 OLEUIPASTE_PASTEONLY = 0,
340 OLEUIPASTE_PASTE = 512,
341 OLEUIPASTE_LINKANYTYPE = 1024,
342 OLEUIPASTE_LINKTYPE1 = 1,
343 OLEUIPASTE_LINKTYPE2 = 2,
344 OLEUIPASTE_LINKTYPE3 = 4,
345 OLEUIPASTE_LINKTYPE4 = 8,
346 OLEUIPASTE_LINKTYPE5 = 16,
347 OLEUIPASTE_LINKTYPE6 = 32,
348 OLEUIPASTE_LINKTYPE7 = 64,
349 OLEUIPASTE_LINKTYPE8 = 128
352 typedef struct tagOLEUIPASTEENTRYA
355 LPCSTR lpstrFormatName;
356 LPCSTR lpstrResultText;
358 DWORD dwScratchSpace;
359 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
361 typedef struct tagOLEUIPASTEENTRYW
364 LPCWSTR lpstrFormatName;
365 LPCWSTR lpstrResultText;
367 DWORD dwScratchSpace;
368 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
370 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
371 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
372 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
374 typedef struct tagOLEUIPASTESPECIALA
380 LPFNOLEUIHOOK lpfnHook;
385 LPDATAOBJECT lpSrcDataObj;
386 LPOLEUIPASTEENTRYA arrPasteEntries;
391 LPCLSID lpClsidExclude;
396 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
398 typedef struct tagOLEUIPASTESPECIALW
404 LPFNOLEUIHOOK lpfnHook;
407 LPCWSTR lpszTemplate;
409 LPDATAOBJECT lpSrcDataObj;
410 LPOLEUIPASTEENTRYW arrPasteEntries;
415 LPCLSID lpClsidExclude;
420 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
422 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
423 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
424 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
426 #define PS_MAXLINKTYPES 8
428 #define PSF_SHOWHELP 0x00000001L
429 #define PSF_SELECTPASTE 0x00000002L
430 #define PSF_SELECTPASTELINK 0x00000004L
432 #define PSF_CHECKDISPLAYASICON 0x00000008L
433 #define PSF_DISABLEDISPLAYASICON 0x00000010L
434 #define PSF_HIDECHANGEICON 0x00000020L
435 #define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
436 #define PSF_NOREFRESHDATAOBJECT 0x00000080L
438 #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
439 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
440 #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
441 #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
442 #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
444 /* Paste Special dialog resource ids */
445 #define IDD_PASTESPECIAL 1003
446 #define IDD_PASTESPECIAL4 1108
448 /* Paste Special dialog control ids */
449 #define IDC_PS_PASTE 500
450 #define IDC_PS_PASTELINK 501
451 #define IDC_PS_SOURCETEXT 502
452 #define IDC_PS_PASTELIST 503
453 #define IDC_PS_PASTELINKLIST 504
454 #define IDC_PS_DISPLAYLIST 505
455 #define IDC_PS_DISPLAYASICON 506
456 #define IDC_PS_ICONDISPLAY 507
457 #define IDC_PS_CHANGEICON 508
458 #define IDC_PS_RESULTIMAGE 509
459 #define IDC_PS_RESULTTEXT 510
461 /*****************************************************************************
465 #define ELF_SHOWHELP 0x00000001L
466 #define ELF_DISABLEUPDATENOW 0x00000002L
467 #define ELF_DISABLEOPENSOURCE 0x00000004L
468 #define ELF_DISABLECHANGESOURCE 0x00000008L
469 #define ELF_DISABLECANCELLINK 0x00000010L
471 typedef struct tagOLEUIEDITLINKSW
477 LPFNOLEUIHOOK lpfnHook;
480 LPCWSTR lpszTemplate;
482 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
483 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
485 typedef struct tagOLEUIEDITLINKSA
491 LPFNOLEUIHOOK lpfnHook;
496 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
497 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
499 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
500 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
501 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
504 /***********************************************************************************
507 typedef struct tagOLEUIBUSYA
513 LPFNOLEUIHOOK lpfnHook;
520 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
522 typedef struct tagOLEUIBUSYW
528 LPFNOLEUIHOOK lpfnHook;
531 LPCWSTR lpszTemplate;
535 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
537 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
538 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
539 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
542 #define BZ_DISABLECANCELBUTTON 0x00000001L
543 #define BZ_DISABLESWITCHTOBUTTON 0x00000002L
544 #define BZ_DISABLERETRYBUTTON 0x00000004L
545 #define BZ_NOTRESPONDINGDIALOG 0x00000008L
547 /***********************************************************************************
548 * OBJECT PROPERTIES DIALOG
551 struct tagOLEUIOBJECTPROPSW;
552 struct tagOLEUIOBJECTPROPSA;
554 typedef struct tagOLEUIGNRLPROPSA
558 DWORD dwReserved1[2];
559 LPFNOLEUIHOOK lpfnHook;
561 DWORD dwReserved2[3];
562 struct tagOLEUIOBJECTPROPSA* lpOP;
564 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
566 typedef struct tagOLEUIGNRLPROPSW
570 DWORD dwReserved1[2];
571 LPFNOLEUIHOOK lpfnHook;
573 DWORD dwReserved2[3];
574 struct tagOLEUIOBJECTPROPSW* lpOP;
575 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
577 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
578 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
579 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
581 typedef struct tagOLEUIVIEWPROPSA
585 DWORD dwReserved1[2];
586 LPFNOLEUIHOOK lpfnHook;
588 DWORD dwReserved2[3];
589 struct tagOLEUIOBJECTPROPSA* lpOP;
592 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
594 typedef struct tagOLEUIVIEWPROPSW
598 DWORD dwReserved1[2];
599 LPFNOLEUIHOOK lpfnHook;
601 DWORD dwReserved2[3];
602 struct tagOLEUIOBJECTPROPSW* lpOP;
605 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
607 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
608 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
609 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
612 #define VPF_SELECTRELATIVE 0x00000001L
613 #define VPF_DISABLERELATIVE 0x00000002L
614 #define VPF_DISABLESCALE 0x00000004L
616 typedef struct tagOLEUILINKPROPSA
620 DWORD dwReserved1[2];
621 LPFNOLEUIHOOK lpfnHook;
623 DWORD dwReserved2[3];
624 struct tagOLEUIOBJECTPROPSA* lpOP;
625 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
627 typedef struct tagOLEUILINKPROPSW
631 DWORD dwReserved1[2];
632 LPFNOLEUIHOOK lpfnHook;
634 DWORD dwReserved2[3];
635 struct tagOLEUIOBJECTPROPSW* lpOP;
636 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
638 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
639 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
640 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
642 typedef struct tagOLEUIOBJECTPROPSA
646 LPPROPSHEETHEADERA lpPS;
648 LPOLEUIOBJINFOA lpObjInfo;
650 LPOLEUILINKINFOA lpLinkInfo;
651 LPOLEUIGNRLPROPSA lpGP;
652 LPOLEUIVIEWPROPSA lpVP;
653 LPOLEUILINKPROPSA lpLP;
654 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
656 typedef struct tagOLEUIOBJECTPROPSW
660 LPPROPSHEETHEADERW lpPS;
662 LPOLEUIOBJINFOW lpObjInfo;
664 LPOLEUILINKINFOW lpLinkInfo;
665 LPOLEUIGNRLPROPSW lpGP;
666 LPOLEUIVIEWPROPSW lpVP;
667 LPOLEUILINKPROPSW lpLP;
668 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
670 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
671 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
672 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
674 #define OPF_OBJECTISLINK 0x00000001L
675 #define OPF_NOFILLDEFAULT 0x00000002L
676 #define OPF_SHOWHELP 0x00000004L
677 #define OPF_DISABLECONVERT 0x00000008L
680 /************************************************************************************
681 * CHANGE SOURCE DIALOG
685 typedef struct tagOLEUICHANGESOURCEW
691 LPFNOLEUIHOOK lpfnHook;
694 LPCWSTR lpszTemplate;
697 DWORD dwReserved1[4];
698 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
700 LPWSTR lpszDisplayName;
704 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
707 typedef struct tagOLEUICHANGESOURCEA
713 LPFNOLEUIHOOK lpfnHook;
718 OPENFILENAMEA* lpOFN;
719 DWORD dwReserved1[4];
720 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
722 LPSTR lpszDisplayName;
726 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
729 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
730 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
731 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
733 /* Change Source Dialog flags */
734 #define CSF_SHOWHELP 0x00000001L
735 #define CSF_VALIDSOURCE 0x00000002L
736 #define CSF_ONLYGETSOURCE 0x00000004L
737 #define CSF_EXPLORER 0x00000008L
740 /*****************************************************************************
741 * IOleUILinkContainer interface
743 #define INTERFACE IOleUILinkContainerA
744 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
746 /*** IUnknown methods ***/
747 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
748 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
749 STDMETHOD_(ULONG,Release)(THIS) PURE;
750 /*** IOleUILinkContainerA methods ***/
751 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
752 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
753 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
754 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
755 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
756 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
757 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
758 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
759 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
760 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
761 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
765 #define INTERFACE IOleUILinkContainerW
766 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
768 /*** IUnknown methods ***/
769 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
770 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
771 STDMETHOD_(ULONG,Release)(THIS) PURE;
772 /*** IOleUILinkContainerW methods ***/
773 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
774 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
775 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
776 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
777 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
778 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
779 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
780 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
781 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
782 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
783 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
787 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
788 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
789 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
791 #if !defined(__cplusplus) || defined(CINTERFACE)
792 /*** IUnknown methods ***/
793 #define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
794 #define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
795 #define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
796 /*** IOleUILinkContainer methods ***/
797 #define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
798 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
799 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
800 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
801 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
802 #define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
803 #define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
804 #define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
808 /*****************************************************************************
809 * IOleUILinkInfo interface
811 #define INTERFACE IOleUILinkInfoA
812 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
814 /*** IUnknown methods ***/
815 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
816 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
817 STDMETHOD_(ULONG,Release)(THIS) PURE;
818 /*** IOleUILinkContainerA methods ***/
819 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
820 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
821 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
822 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
823 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
824 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
825 LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
826 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
827 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
828 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
829 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
830 /*** IOleUILinkInfoA methods ***/
831 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
835 #define INTERFACE IOleUILinkInfoW
836 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
838 /*** IUnknown methods ***/
839 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
840 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
841 STDMETHOD_(ULONG,Release)(THIS) PURE;
842 /*** IOleUILinkContainerW methods ***/
843 STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
844 STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
845 STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
846 STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
847 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
848 STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
849 LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
850 BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
851 STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
852 STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
853 STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
854 /*** IOleUILinkInfoW methods ***/
855 STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
859 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
860 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
861 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
863 #if !defined(__cplusplus) || defined(CINTERFACE)
864 /*** IUnknown methods ***/
865 #define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
866 #define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
867 #define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
868 /*** IOleUILinkContainer methods ***/
869 #define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
870 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
871 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
872 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
873 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
874 #define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
875 #define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
876 #define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
877 /*** IOleUILinkInfo methods ***/
878 #define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
882 /*****************************************************************************
883 * IOleUIObjInfo interface
885 #define INTERFACE IOleUIObjInfoA
886 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
888 /*** IUnknown methods ***/
889 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
890 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
891 STDMETHOD_(ULONG,Release)(THIS) PURE;
892 /*** IOleUIObjInfoA methods ***/
893 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
894 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
895 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
896 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
897 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
898 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
899 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
900 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
904 #define INTERFACE IOleUIObjInfoW
905 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
907 /*** IUnknown methods ***/
908 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
909 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
910 STDMETHOD_(ULONG,Release)(THIS) PURE;
911 /*** IOleUIObjInfoW methods ***/
912 STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
913 LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE;
914 STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
915 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
916 STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
917 STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
918 STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
919 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
923 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
924 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
925 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
927 #if !defined(__cplusplus) || defined(CINTERFACE)
928 /*** IUnknown methods ***/
929 #define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
930 #define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
931 #define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
932 /*** IOleUIObjInfo methods ***/
933 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
934 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
935 #define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
936 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
937 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
940 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
941 UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
942 #define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
943 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
944 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
945 #define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
946 UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
947 UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
948 #define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
949 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
950 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
951 #define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
952 UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
953 UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
954 #define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
955 UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
956 UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
957 #define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
958 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
959 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
960 #define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
961 BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
962 BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
963 #define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
964 BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
965 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
966 BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
967 BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
968 #define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
969 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
970 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
971 #define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
972 INT __cdecl OleUIPromptUserA(INT,HWND, ...);
973 INT __cdecl OleUIPromptUserW(INT,HWND, ...);
974 #define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
981 #endif /* __WINE_OLEDLG_H */