1 #ifndef __WINE_DOCOBJ_H
2 #define __WINE_DOCOBJ_H
7 #include "wine/obj_oleaut.h"
9 /*****************************************************************************
10 * Declare the structures
14 OLECMDF_SUPPORTED
= 0x1,
15 OLECMDF_ENABLED
= 0x2,
16 OLECMDF_LATCHED
= 0x4,
20 typedef struct _tagOLECMD
26 typedef struct _tagOLECMDTEXT
36 PRINTFLAG_MAYBOTHERUSER
= 1,
37 PRINTFLAG_PROMPTUSER
= 2,
38 PRINTFLAG_USERMAYCHANGEPRINTER
= 4,
39 PRINTFLAG_RECOMPOSETODEVICE
= 8,
40 PRINTFLAG_DONTACTUALLYPRINT
= 16,
41 PRINTFLAG_FORCEPROPERTIES
= 32,
42 PRINTFLAG_PRINTTOFILE
= 64
45 typedef struct tagPAGERANGE
51 typedef struct tagPAGESET
57 PAGERANGE rgPages
[ 1 ];
64 OLECMDTEXTF_STATUS
= 2
69 OLECMDEXECOPT_DODEFAULT
= 0,
70 OLECMDEXECOPT_PROMPTUSER
= 1,
71 OLECMDEXECOPT_DONTPROMPTUSER
= 2,
72 OLECMDEXECOPT_SHOWHELP
= 3
81 OLECMDID_SAVECOPYAS
= 5,
83 OLECMDID_PRINTPREVIEW
= 7,
84 OLECMDID_PAGESETUP
= 8,
86 OLECMDID_PROPERTIES
= 10,
90 OLECMDID_PASTESPECIAL
= 14,
93 OLECMDID_SELECTALL
= 17,
94 OLECMDID_CLEARSELECTION
= 18,
96 OLECMDID_GETZOOMRANGE
= 20,
97 OLECMDID_UPDATECOMMANDS
= 21,
98 OLECMDID_REFRESH
= 22,
100 OLECMDID_HIDETOOLBARS
= 24,
101 OLECMDID_SETPROGRESSMAX
= 25,
102 OLECMDID_SETPROGRESSPOS
= 26,
103 OLECMDID_SETPROGRESSTEXT
= 27,
104 OLECMDID_SETTITLE
= 28,
105 OLECMDID_SETDOWNLOADSTATE
= 29,
106 OLECMDID_STOPDOWNLOAD
= 30,
107 OLECMDID_ONTOOLBARACTIVATED
= 31,
109 OLECMDID_DELETE
= 33,
110 OLECMDID_HTTPEQUIV
= 34,
111 OLECMDID_HTTPEQUIV_DONE
= 35,
112 OLECMDID_ENABLE_INTERACTION
= 36,
113 OLECMDID_ONUNLOAD
= 37,
114 OLECMDID_PROPERTYBAG2
= 38,
115 OLECMDID_PREREFRESH
= 39
116 /* iexplorer uses ... 44 */
119 #define OLECMDERR_E_FIRST (OLE_E_LAST+1)
120 #define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)
121 #define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)
122 #define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)
123 #define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)
124 #define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)
126 /*****************************************************************************
127 * Predeclare the interfaces
129 DEFINE_GUID(IID_IOleDocument
, 0xb722bcc5,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
130 typedef struct IOleDocument IOleDocument
, *LPOLEDOCUMENT
;
132 DEFINE_GUID(IID_IOleDocumentSite
, 0xb722bcc7,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
133 typedef struct IOleDocumentSite IOleDocumentSite
, *LPOLEDOCUMENTSITE
;
135 DEFINE_GUID(IID_IOleDocumentView
, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
136 typedef struct IOleDocumentView IOleDocumentView
, *LPOLEDOCUMENTVIEW
;
138 DEFINE_GUID(IID_IEnumOleDocumentViews
, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
139 typedef struct IEnumOleDocumentViews IEnumOleDocumentViews
, *LPENUMOLEDOCUMENTVIEWS
;
141 DEFINE_GUID(IID_IOleCommandTarget
, 0xb722bccb,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
142 typedef struct IOleCommandTarget IOleCommandTarget
, *LPOLECOMMANDTARGET
;
144 DEFINE_GUID(IID_IContinueCallback
, 0xb722bcca,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
145 typedef struct IContinueCallback IContinueCallback
, *LPCONTINUECALLBACK
;
147 DEFINE_GUID(IID_IPrint
, 0xb722bcc9,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
148 typedef struct IPrint IPrint
, *LPPRINT
;
151 /*****************************************************************************
152 * IOleDocument interface
154 #define ICOM_INTERFACE IOleDocument
155 #define IOleDocument_METHODS \
156 ICOM_METHOD4(HRESULT,CreateView, IOleInPlaceSite*,pIPSite, IStream*,pstm, DWORD,dwReserved, IOleDocumentView**,ppView) \
157 ICOM_METHOD1(HRESULT,GetDocMiscStatus, DWORD*,pdwStatus) \
158 ICOM_METHOD2(HRESULT,EnumViews, IEnumOleDocumentViews**,ppEnum, IOleDocumentView**,ppView)
159 #define IOleDocument_IMETHODS \
162 ICOM_DEFINE(IOleDocument
,IUnknown
)
163 #undef ICOM_INTERFACE
165 #ifdef ICOM_CINTERFACE
166 /*** IUnknown methods ***/
167 #define IOleDocument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
168 #define IOleDocument_AddRef(p) ICOM_CALL (AddRef,p)
169 #define IOleDocument_Release(p) ICOM_CALL (Release,p)
170 /*** IOleDocument methods ***/
171 #define IOleDocument_CreateView(p,a,b,c,d) ICOM_CALL4(CreateView,p,a,b,c,d)
172 #define IOleDocument_GetDocMiscStatus(p,a) ICOM_CALL1(GetDocMiscStatus,p,a)
173 #define IOleDocument_EnumViews(p,a,b) ICOM_CALL2(EnumViews,p,a,b)
177 /*****************************************************************************
178 * IOleDocumentSite interface
180 #define ICOM_INTERFACE IOleDocumentSite
181 #define IOleDocumentSite_METHODS \
182 ICOM_METHOD1(HRESULT,ActivateMe, IOleDocumentView*,pViewToActivate)
183 #define IOleDocumentSite_IMETHODS \
185 IOleDocumentSite_METHODS
186 ICOM_DEFINE(IOleDocumentSite
,IUnknown
)
187 #undef ICOM_INTERFACE
189 #ifdef ICOM_CINTERFACE
190 /*** IUnknown methods ***/
191 #define IOleDocumentSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
192 #define IOleDocumentSite_AddRef(p) ICOM_CALL (AddRef,p)
193 #define IOleDocumentSite_Release(p) ICOM_CALL (Release,p)
194 /*** IOleDocumentSite methods ***/
195 #define IOleDocumentSite_ActivateMe(p,a) ICOM_CALL4(ActivateMe,p,a)
199 /*****************************************************************************
200 * IOleDocumentSite interface
202 #define ICOM_INTERFACE IOleDocumentView
203 #define IOleDocumentView_METHODS \
204 ICOM_METHOD1(HRESULT,SetInPlaceSite, IOleInPlaceSite*,pIPSite) \
205 ICOM_METHOD1(HRESULT,GetInPlaceSite, IOleInPlaceSite**,ppIPSite) \
206 ICOM_METHOD1(HRESULT,GetDocument, IUnknown**,ppunk) \
207 ICOM_METHOD1(HRESULT,SetRect, LPRECT,prcView) \
208 ICOM_METHOD1(HRESULT,GetRect, LPRECT,prcView) \
209 ICOM_METHOD4(HRESULT,SetRectComplex, LPRECT,prcView, LPRECT,prcHScroll, LPRECT,prcVScroll, LPRECT,prcSizeBox) \
210 ICOM_METHOD1(HRESULT,Show, BOOL,fShow) \
211 ICOM_METHOD1(HRESULT,UIActivate, BOOL,fUIActivate) \
212 ICOM_METHOD (HRESULT,Open) \
213 ICOM_METHOD1(HRESULT,CloseView, DWORD,dwReserved) \
214 ICOM_METHOD1(HRESULT,SaveViewState, LPSTREAM,pstm) \
215 ICOM_METHOD1(HRESULT,ApplyViewState,LPSTREAM,pstm) \
216 ICOM_METHOD2(HRESULT,Clone, IOleInPlaceSite*,pIPSiteNew, IOleDocumentView**,ppViewNew)
217 #define IOleDocumentView_IMETHODS \
219 IOleDocumentView_METHODS
220 ICOM_DEFINE(IOleDocumentView
,IUnknown
)
221 #undef ICOM_INTERFACE
223 #ifdef ICOM_CINTERFACE
224 /*** IUnknown methods ***/
225 #define IOleDocumentView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
226 #define IOleDocumentView_AddRef(p) ICOM_CALL (AddRef,p)
227 #define IOleDocumentView_Release(p) ICOM_CALL (Release,p)
228 /*** IOleDocumentView methods ***/
229 #define IOleDocumentView_SetInPlaceSite(p,a) ICOM_CALL1(SetInPlaceSite,p,a)
230 #define IOleDocumentView_GetInPlaceSite(p,a) ICOM_CALL1(GetInPlaceSite,p,a)
231 #define IOleDocumentView_GetDocument(p,a) ICOM_CALL1(GetDocument,p,a)
232 #define IOleDocumentView_SetRect(p,a) ICOM_CALL1(SetRect,p,a)
233 #define IOleDocumentView_GetRect(p,a) ICOM_CALL1(GetRect,p,a)
234 #define IOleDocumentView_GetRectComplex(p,a,b,c,d) ICOM_CALL4(GetRectComplex,p,a,b,c,d)
235 #define IOleDocumentView_Show(p,a) ICOM_CALL1(Show,p,a)
236 #define IOleDocumentView_UIActivate(p,a) ICOM_CALL1(UIActivate,p,a)
237 #define IOleDocumentView_Open(p) ICOM_CALL (Open,p)
238 #define IOleDocumentView_CloseView(p,a) ICOM_CALL1(CloseView,p,a)
239 #define IOleDocumentView_SaveViewState(p,a) ICOM_CALL1(SaveViewState,p,a)
240 #define IOleDocumentView_ApplyViewState(p,a) ICOM_CALL1(ApplyViewState,p,a)
241 #define IOleDocumentView_Clone(p,a,b) ICOM_CALL2(Clone,p,a,b)
245 /*****************************************************************************
246 * IOleDocumentSite interface
248 #define ICOM_INTERFACE IEnumOleDocumentViews
249 #define IEnumOleDocumentViews_METHODS \
250 ICOM_METHOD3(HRESULT,Next, ULONG,cViews, IOleDocumentView**,rgpView, ULONG*,pcFetched) \
251 ICOM_METHOD1(HRESULT,Skip, ULONG,cViews) \
252 ICOM_METHOD (HRESULT,Reset) \
253 ICOM_METHOD1(HRESULT,Clone, IEnumOleDocumentViews**,ppEnum)
254 #define IEnumOleDocumentViews_IMETHODS \
256 IEnumOleDocumentViews_METHODS
257 ICOM_DEFINE(IEnumOleDocumentViews
,IUnknown
)
258 #undef ICOM_INTERFACE
260 #ifdef ICOM_CINTERFACE
261 /*** IUnknown methods ***/
262 #define IEnumOleDocumentViews_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
263 #define IEnumOleDocumentViews_AddRef(p) ICOM_CALL (AddRef,p)
264 #define IEnumOleDocumentViews_Release(p) ICOM_CALL (Release,p)
265 /*** IEnumOleDocumentViews methods ***/
266 #define IEnumOleDocumentViews_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
267 #define IEnumOleDocumentViews_Skip(p,a) ICOM_CALL1(Skip,p,a)
268 #define IEnumOleDocumentViews_Reset(p) ICOM_CALL (Reset,p)
269 #define IEnumOleDocumentViews_Clone(p,a) ICOM_CALL1(Clone,p,a)
273 /*****************************************************************************
274 * IOleCommandTarget interface
276 #define ICOM_INTERFACE IOleCommandTarget
277 #define IOleCommandTarget_METHODS \
278 ICOM_METHOD4(HRESULT,QueryStatus, const GUID*,pguidCmdGroup, ULONG,cCmds, OLECMD*,prgCmds, OLECMDTEXT*,pCmdText) \
279 ICOM_METHOD5(HRESULT,Exec, const GUID*,pguidCmdGroup, DWORD,nCmdID, DWORD,nCmdexecopt, VARIANT*,pvaIn, VARIANT*,pvaOut)
280 #define IOleCommandTarget_IMETHODS \
282 IOleCommandTarget_METHODS
283 ICOM_DEFINE(IOleCommandTarget
,IUnknown
)
284 #undef ICOM_INTERFACE
286 #ifdef ICOM_CINTERFACE
287 /*** IUnknown methods ***/
288 #define IOleCommandTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
289 #define IOleCommandTarget_AddRef(p) ICOM_CALL (AddRef,p)
290 #define IOleCommandTarget_Release(p) ICOM_CALL (Release,p)
291 /*** IOleCommandTarget methods ***/
292 #define IOleCommandTarget_QueryStatus(p,a,b,c,d) ICOM_CALL4(QueryStatus,p,a,b,c,d)
293 #define IOleCommandTarget_Exec(p,a,b,c,d,e) ICOM_CALL5(Exec,p,a,b,c,d,e)
297 /*****************************************************************************
298 * IContinueCallback interface
300 #define ICOM_INTERFACE IContinueCallback
301 #define IContinueCallback_METHODS \
302 ICOM_METHOD (HRESULT,FContinue) \
303 ICOM_METHOD3(HRESULT,FContinuePrinting, LONG,nCntPrinted, LONG,nCurPage, WCHAR*,pwszPrintStatus)
304 #define IContinueCallback_IMETHODS \
306 IContinueCallback_METHODS
307 ICOM_DEFINE(IContinueCallback
,IUnknown
)
308 #undef ICOM_INTERFACE
310 #ifdef ICOM_CINTERFACE
311 /*** IUnknown methods ***/
312 #define IContinueCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
313 #define IContinueCallback_AddRef(p) ICOM_CALL (AddRef,p)
314 #define IContinueCallback_Release(p) ICOM_CALL (Release,p)
315 /*** IContinueCallback methods ***/
316 #define IContinueCallback_FContinue(p) ICOM_CALL (FContinue,p)
317 #define IContinueCallback_FContinuePrinting(p,a,b,c) ICOM_CALL3(FContinuePrinting,p,a,b,c)
321 /*****************************************************************************
324 #define ICOM_INTERFACE IPrint
325 #define IPrint_METHODS \
326 ICOM_METHOD1(HRESULT,SetInitialPageNum, LONG,nFirstPage) \
327 ICOM_METHOD2(HRESULT,GetPageInfo, LONG*,pnFirstPage, LONG*,pcPages) \
328 ICOM_METHOD8(HRESULT,Print, DWORD,grfFlags, DVTARGETDEVICE**,pptd, PAGESET**,ppPageSet, STGMEDIUM*,pstgmOptions, IContinueCallback*,pcallback, LONG,nFirstPage, LONG*,pcPagesPrinted, LONG*,pnLastPage)
329 #define IPrint_IMETHODS \
332 ICOM_DEFINE(IPrint
,IUnknown
)
333 #undef ICOM_INTERFACE
335 #ifdef ICOM_CINTERFACE
336 /*** IUnknown methods ***/
337 #define IPrint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
338 #define IPrint_AddRef(p) ICOM_CALL (AddRef,p)
339 #define IPrint_Release(p) ICOM_CALL (Release,p)
340 /*** Iprint methods ***/
341 #define IPrint_SetInitialPageNum(p,a) ICOM_CALL1(SetInitialPageNum,p,a)
342 #define IPrint_GetPageInfo(p,a,b) ICOM_CALL2(GetPageInfo,p,a,b)
343 #define IPrint_Print(p,a,b,c,d,e,f,g) ICOM_CALL7(Print,p,a,b,c,d,e,f,g)
347 #define LPMSODOCUMENT LPOLEDOCUMENT
348 #define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE
349 #define LPMSOVIEW LPOLEDOCUMENTVIEW
350 #define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS
351 #define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET
352 #define IID_IMsoDocument IID_IOleDocument
353 #define IID_IMsoDocumentSite IID_IOleDocumentSite
354 #define IID_IMsoView IID_IOleDocumentView
355 #define IID_IEnumMsoView IID_IEnumOleDocumentViews
356 #define IID_IMsoCommandTarget IID_IOleCommandTarget
359 #endif /* __WINE_DOCOBJ_H */