source: trunk/include/win/docobj.h

Last change on this file was 3155, checked in by davidr, 25 years ago

Added IID_StdOleLink.

File size: 12.2 KB
Line 
1/* $Id: docobj.h,v 1.3 2000-03-18 16:57:19 davidr Exp $ */
2
3#ifndef __WINE_DOCOBJ_H
4#define __WINE_DOCOBJ_H
5
6#include "winbase.h"
7#include "winuser.h"
8#include "ole2.h"
9#include "wine/obj_oleaut.h"
10
11/*****************************************************************************
12 * Declare the structures
13 */
14typedef enum
15{
16 OLECMDF_SUPPORTED = 0x1,
17 OLECMDF_ENABLED = 0x2,
18 OLECMDF_LATCHED = 0x4,
19 OLECMDF_NINCHED = 0x8
20} OLECMDF;
21
22typedef struct _tagOLECMD
23{
24 ULONG cmdID;
25 DWORD cmdf;
26} OLECMD;
27
28typedef struct _tagOLECMDTEXT
29{
30 DWORD cmdtextf;
31 ULONG cwActual;
32 ULONG cwBuf;
33 WCHAR rgwz[1];
34} OLECMDTEXT;
35
36#ifndef __WINE_COMMDLG_H
37typedef enum
38{
39 PRINTFLAG_MAYBOTHERUSER = 1,
40 PRINTFLAG_PROMPTUSER = 2,
41 PRINTFLAG_USERMAYCHANGEPRINTER = 4,
42 PRINTFLAG_RECOMPOSETODEVICE = 8,
43 PRINTFLAG_DONTACTUALLYPRINT = 16,
44 PRINTFLAG_FORCEPROPERTIES = 32,
45 PRINTFLAG_PRINTTOFILE = 64
46} PRINTFLAG;
47#endif
48
49typedef struct tagPAGERANGE
50{
51 LONG nFromPage;
52 LONG nToPage;
53} PAGERANGE;
54
55typedef struct tagPAGESET
56{
57 ULONG cbStruct;
58 BOOL fOddPages;
59 BOOL fEvenPages;
60 ULONG cPageRange;
61 PAGERANGE rgPages[ 1 ];
62} PAGESET;
63
64typedef enum
65{
66 OLECMDTEXTF_NONE = 0,
67 OLECMDTEXTF_NAME = 1,
68 OLECMDTEXTF_STATUS = 2
69} OLECMDTEXTF;
70
71typedef enum
72{
73 OLECMDEXECOPT_DODEFAULT = 0,
74 OLECMDEXECOPT_PROMPTUSER = 1,
75 OLECMDEXECOPT_DONTPROMPTUSER = 2,
76 OLECMDEXECOPT_SHOWHELP = 3
77} OLECMDEXECOPT;
78
79#define OLECMDERR_E_FIRST (OLE_E_LAST+1)
80#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)
81#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)
82#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)
83#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)
84#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)
85
86/*****************************************************************************
87 * Predeclare the interfaces
88 */
89DEFINE_GUID(IID_IOleDocument, 0xb722bcc5,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
90typedef struct IOleDocument IOleDocument, *LPOLEDOCUMENT;
91
92DEFINE_GUID(IID_IOleDocumentSite, 0xb722bcc7,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
93typedef struct IOleDocumentSite IOleDocumentSite, *LPOLEDOCUMENTSITE;
94
95DEFINE_GUID(IID_IOleDocumentView, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
96typedef struct IOleDocumentView IOleDocumentView, *LPOLEDOCUMENTVIEW;
97
98DEFINE_GUID(IID_IEnumOleDocumentViews, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
99typedef struct IEnumOleDocumentViews IEnumOleDocumentViews, *LPENUMOLEDOCUMENTVIEWS;
100
101DEFINE_GUID(IID_IOleCommandTarget, 0xb722bccb,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
102typedef struct IOleCommandTarget IOleCommandTarget, *LPOLECOMMANDTARGET;
103
104DEFINE_GUID(IID_IContinueCallback, 0xb722bcca,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
105typedef struct IContinueCallback IContinueCallback, *LPCONTINUECALLBACK;
106
107DEFINE_GUID(IID_IPrint, 0xb722bcc9,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
108typedef struct IPrint IPrint, *LPPRINT;
109
110DEFINE_GUID( IID_StdOleLink,0x00000300,0,0,0xc0,0,0,0,0,0,0,0x46);
111
112/*****************************************************************************
113 * IOleDocument interface
114 */
115#define ICOM_INTERFACE IOleDocument
116#define IOleDocument_METHODS \
117 ICOM_METHOD4(HRESULT,CreateView, IOleInPlaceSite*,pIPSite, IStream*,pstm, DWORD,dwReserved, IOleDocumentView**,ppView) \
118 ICOM_METHOD1(HRESULT,GetDocMiscStatus, DWORD*,pdwStatus) \
119 ICOM_METHOD2(HRESULT,EnumViews, IEnumOleDocumentViews**,ppEnum, IOleDocumentView**,ppView)
120#define IOleDocument_IMETHODS \
121 IUnknown_IMETHODS \
122 IOleDocument_METHODS
123ICOM_DEFINE(IOleDocument,IUnknown)
124#undef ICOM_INTERFACE
125
126#ifdef ICOM_CINTERFACE
127/*** IUnknown methods ***/
128#define IOleDocument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
129#define IOleDocument_AddRef(p) ICOM_CALL (AddRef,p)
130#define IOleDocument_Release(p) ICOM_CALL (Release,p)
131/*** IOleDocument methods ***/
132#define IOleDocument_CreateView(p,a,b,c,d) ICOM_CALL4(CreateView,p,a,b,c,d)
133#define IOleDocument_GetDocMiscStatus(p,a) ICOM_CALL1(GetDocMiscStatus,p,a)
134#define IOleDocument_EnumViews(p,a,b) ICOM_CALL2(EnumViews,p,a,b)
135#endif
136
137
138/*****************************************************************************
139 * IOleDocumentSite interface
140 */
141#define ICOM_INTERFACE IOleDocumentSite
142#define IOleDocumentSite_METHODS \
143 ICOM_METHOD1(HRESULT,ActivateMe, IOleDocumentView*,pViewToActivate)
144#define IOleDocumentSite_IMETHODS \
145 IUnknown_IMETHODS \
146 IOleDocumentSite_METHODS
147ICOM_DEFINE(IOleDocumentSite,IUnknown)
148#undef ICOM_INTERFACE
149
150#ifdef ICOM_CINTERFACE
151/*** IUnknown methods ***/
152#define IOleDocumentSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
153#define IOleDocumentSite_AddRef(p) ICOM_CALL (AddRef,p)
154#define IOleDocumentSite_Release(p) ICOM_CALL (Release,p)
155/*** IOleDocumentSite methods ***/
156#define IOleDocumentSite_ActivateMe(p,a) ICOM_CALL4(ActivateMe,p,a)
157#endif
158
159
160/*****************************************************************************
161 * IOleDocumentSite interface
162 */
163#define ICOM_INTERFACE IOleDocumentView
164#define IOleDocumentView_METHODS \
165 ICOM_METHOD1(HRESULT,SetInPlaceSite, IOleInPlaceSite*,pIPSite) \
166 ICOM_METHOD1(HRESULT,GetInPlaceSite, IOleInPlaceSite**,ppIPSite) \
167 ICOM_METHOD1(HRESULT,GetDocument, IUnknown**,ppunk) \
168 ICOM_METHOD1(HRESULT,SetRect, LPRECT,prcView) \
169 ICOM_METHOD1(HRESULT,GetRect, LPRECT,prcView) \
170 ICOM_METHOD4(HRESULT,GetRectComplex, LPRECT,prcView, LPRECT,prcHScroll, LPRECT,prcVScroll, LPRECT,prcSizeBox) \
171 ICOM_METHOD1(HRESULT,Show, BOOL,fShow) \
172 ICOM_METHOD1(HRESULT,UIActivate, BOOL,fUIActivate) \
173 ICOM_METHOD (HRESULT,Open) \
174 ICOM_METHOD1(HRESULT,CloseView, DWORD,dwReserved) \
175 ICOM_METHOD1(HRESULT,SaveViewState, LPSTREAM,pstm) \
176 ICOM_METHOD1(HRESULT,ApplyViewState,LPSTREAM,pstm) \
177 ICOM_METHOD2(HRESULT,Clone, IOleInPlaceSite*,pIPSiteNew, IOleDocumentView**,ppViewNew)
178#define IOleDocumentView_IMETHODS \
179 IUnknown_IMETHODS \
180 IOleDocumentView_METHODS
181ICOM_DEFINE(IOleDocumentView,IUnknown)
182#undef ICOM_INTERFACE
183
184#ifdef ICOM_CINTERFACE
185/*** IUnknown methods ***/
186#define IOleDocumentView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
187#define IOleDocumentView_AddRef(p) ICOM_CALL (AddRef,p)
188#define IOleDocumentView_Release(p) ICOM_CALL (Release,p)
189/*** IOleDocumentView methods ***/
190#define IOleDocumentView_SetInPlaceSite(p,a) ICOM_CALL1(SetInPlaceSite,p,a)
191#define IOleDocumentView_GetInPlaceSite(p,a) ICOM_CALL1(GetInPlaceSite,p,a)
192#define IOleDocumentView_GetDocument(p,a) ICOM_CALL1(GetDocument,p,a)
193#define IOleDocumentView_SetRect(p,a) ICOM_CALL1(SetRect,p,a)
194#define IOleDocumentView_GetRect(p,a) ICOM_CALL1(GetRect,p,a)
195#define IOleDocumentView_GetRectComplex(p,a,b,c,d) ICOM_CALL4(GetRectComplex,p,a,b,c,d)
196#define IOleDocumentView_Show(p,a) ICOM_CALL1(Show,p,a)
197#define IOleDocumentView_UIActivate(p,a) ICOM_CALL1(UIActivate,p,a)
198#define IOleDocumentView_Open(p) ICOM_CALL (Open,p)
199#define IOleDocumentView_CloseView(p,a) ICOM_CALL1(CloseView,p,a)
200#define IOleDocumentView_SaveViewState(p,a) ICOM_CALL1(SaveViewState,p,a)
201#define IOleDocumentView_ApplyViewState(p,a) ICOM_CALL1(ApplyViewState,p,a)
202#define IOleDocumentView_Clone(p,a,b) ICOM_CALL2(Clone,p,a,b)
203#endif
204
205
206/*****************************************************************************
207 * IOleDocumentSite interface
208 */
209#define ICOM_INTERFACE IEnumOleDocumentViews
210#define IEnumOleDocumentViews_METHODS \
211 ICOM_METHOD3(HRESULT,Next, ULONG,cViews, IOleDocumentView**,rgpView, ULONG*,pcFetched) \
212 ICOM_METHOD1(HRESULT,Skip, ULONG,cViews) \
213 ICOM_METHOD (HRESULT,Reset) \
214 ICOM_METHOD1(HRESULT,Clone, IEnumOleDocumentViews**,ppEnum)
215#define IEnumOleDocumentViews_IMETHODS \
216 IUnknown_IMETHODS \
217 IEnumOleDocumentViews_METHODS
218ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
219#undef ICOM_INTERFACE
220
221#ifdef ICOM_CINTERFACE
222/*** IUnknown methods ***/
223#define IEnumOleDocumentViews_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
224#define IEnumOleDocumentViews_AddRef(p) ICOM_CALL (AddRef,p)
225#define IEnumOleDocumentViews_Release(p) ICOM_CALL (Release,p)
226/*** IEnumOleDocumentViews methods ***/
227#define IEnumOleDocumentViews_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
228#define IEnumOleDocumentViews_Skip(p,a) ICOM_CALL1(Skip,p,a)
229#define IEnumOleDocumentViews_Reset(p) ICOM_CALL (Reset,p)
230#define IEnumOleDocumentViews_Clone(p,a) ICOM_CALL1(Clone,p,a)
231#endif
232
233
234/*****************************************************************************
235 * IOleCommandTarget interface
236 */
237#define ICOM_INTERFACE IOleCommandTarget
238#define IOleCommandTarget_METHODS \
239 ICOM_METHOD4(HRESULT,QueryStatus, const GUID*,pguidCmdGroup, ULONG,cCmds, OLECMD*,prgCmds[1], OLECMDTEXT*,pCmdText) \
240 ICOM_METHOD5(HRESULT,Exec, const GUID*,pguidCmdGroup, DWORD,nCmdID, DWORD,nCmdexecopt, VARIANT*,pvaIn, VARIANT*,pvaOut)
241#define IOleCommandTarget_IMETHODS \
242 IUnknown_IMETHODS \
243 IOleCommandTarget_METHODS
244ICOM_DEFINE(IOleCommandTarget,IUnknown)
245#undef ICOM_INTERFACE
246
247#ifdef ICOM_CINTERFACE
248/*** IUnknown methods ***/
249#define IOleCommandTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
250#define IOleCommandTarget_AddRef(p) ICOM_CALL (AddRef,p)
251#define IOleCommandTarget_Release(p) ICOM_CALL (Release,p)
252/*** IOleCommandTarget methods ***/
253#define IOleCommandTarget_QueryStatus(p,a,b,c,d) ICOM_CALL4(QueryStatus,p,a,b,c,d)
254#define IOleCommandTarget_Exec(p,a,b,c,d,e) ICOM_CALL5(Exec,p,a,b,c,d,e)
255#endif
256
257
258/*****************************************************************************
259 * IContinueCallback interface
260 */
261#define ICOM_INTERFACE IContinueCallback
262#define IContinueCallback_METHODS \
263 ICOM_METHOD (HRESULT,FContinue) \
264 ICOM_METHOD3(HRESULT,FContinuePrinting, LONG,nCntPrinted, LONG,nCurPage, WCHAR*,pwszPrintStatus)
265#define IContinueCallback_IMETHODS \
266 IUnknown_IMETHODS \
267 IContinueCallback_METHODS
268ICOM_DEFINE(IContinueCallback,IUnknown)
269#undef ICOM_INTERFACE
270
271#ifdef ICOM_CINTERFACE
272/*** IUnknown methods ***/
273#define IContinueCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
274#define IContinueCallback_AddRef(p) ICOM_CALL (AddRef,p)
275#define IContinueCallback_Release(p) ICOM_CALL (Release,p)
276/*** IContinueCallback methods ***/
277#define IContinueCallback_FContinue(p) ICOM_CALL (FContinue,p)
278#define IContinueCallback_FContinuePrinting(p,a,b,c) ICOM_CALL3(FContinuePrinting,p,a,b,c)
279#endif
280
281
282/*****************************************************************************
283 * IPrint interface
284 */
285#define ICOM_INTERFACE IPrint
286#define IPrint_METHODS \
287 ICOM_METHOD1(HRESULT,SetInitialPageNum, LONG,nFirstPage) \
288 ICOM_METHOD2(HRESULT,GetPageInfo, LONG*,pnFirstPage, LONG*,pcPages) \
289 ICOM_METHOD8(HRESULT,Print, DWORD,grfFlags, DVTARGETDEVICE**,pptd, PAGESET**,ppPageSet, STGMEDIUM*,pstgmOptions, IContinueCallback*,pcallback, LONG,nFirstPage, LONG*,pcPagesPrinted, LONG*,pnLastPage)
290#define IPrint_IMETHODS \
291 IUnknown_IMETHODS \
292 IPrint_METHODS
293ICOM_DEFINE(IPrint,IUnknown)
294#undef ICOM_INTERFACE
295
296#ifdef ICOM_CINTERFACE
297/*** IUnknown methods ***/
298#define IPrint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
299#define IPrint_AddRef(p) ICOM_CALL (AddRef,p)
300#define IPrint_Release(p) ICOM_CALL (Release,p)
301/*** Iprint methods ***/
302#define IPrint_SetInitialPageNum(p,a) ICOM_CALL1(SetInitialPageNum,p,a)
303#define IPrint_GetPageInfo(p,a,b) ICOM_CALL2(GetPageInfo,p,a,b)
304#define IPrint_Print(p,a,b,c,d,e,f,g) ICOM_CALL7(Print,p,a,b,c,d,e,f,g)
305#endif
306
307
308#define LPMSODOCUMENT LPOLEDOCUMENT
309#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE
310#define LPMSOVIEW LPOLEDOCUMENTVIEW
311#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS
312#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET
313#define IID_IMsoDocument IID_IOleDocument
314#define IID_IMsoDocumentSite IID_IOleDocumentSite
315#define IID_IMsoView IID_IOleDocumentView
316#define IID_IEnumMsoView IID_IEnumOleDocumentViews
317#define IID_IMsoCommandTarget IID_IOleCommandTarget
318
319
320#endif /* __WINE_DOCOBJ_H */
Note: See TracBrowser for help on using the repository browser.