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 | */
|
---|
14 | typedef enum
|
---|
15 | {
|
---|
16 | OLECMDF_SUPPORTED = 0x1,
|
---|
17 | OLECMDF_ENABLED = 0x2,
|
---|
18 | OLECMDF_LATCHED = 0x4,
|
---|
19 | OLECMDF_NINCHED = 0x8
|
---|
20 | } OLECMDF;
|
---|
21 |
|
---|
22 | typedef struct _tagOLECMD
|
---|
23 | {
|
---|
24 | ULONG cmdID;
|
---|
25 | DWORD cmdf;
|
---|
26 | } OLECMD;
|
---|
27 |
|
---|
28 | typedef struct _tagOLECMDTEXT
|
---|
29 | {
|
---|
30 | DWORD cmdtextf;
|
---|
31 | ULONG cwActual;
|
---|
32 | ULONG cwBuf;
|
---|
33 | WCHAR rgwz[1];
|
---|
34 | } OLECMDTEXT;
|
---|
35 |
|
---|
36 | #ifndef __WINE_COMMDLG_H
|
---|
37 | typedef 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 |
|
---|
49 | typedef struct tagPAGERANGE
|
---|
50 | {
|
---|
51 | LONG nFromPage;
|
---|
52 | LONG nToPage;
|
---|
53 | } PAGERANGE;
|
---|
54 |
|
---|
55 | typedef struct tagPAGESET
|
---|
56 | {
|
---|
57 | ULONG cbStruct;
|
---|
58 | BOOL fOddPages;
|
---|
59 | BOOL fEvenPages;
|
---|
60 | ULONG cPageRange;
|
---|
61 | PAGERANGE rgPages[ 1 ];
|
---|
62 | } PAGESET;
|
---|
63 |
|
---|
64 | typedef enum
|
---|
65 | {
|
---|
66 | OLECMDTEXTF_NONE = 0,
|
---|
67 | OLECMDTEXTF_NAME = 1,
|
---|
68 | OLECMDTEXTF_STATUS = 2
|
---|
69 | } OLECMDTEXTF;
|
---|
70 |
|
---|
71 | typedef 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 | */
|
---|
89 | DEFINE_GUID(IID_IOleDocument, 0xb722bcc5,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
90 | typedef struct IOleDocument IOleDocument, *LPOLEDOCUMENT;
|
---|
91 |
|
---|
92 | DEFINE_GUID(IID_IOleDocumentSite, 0xb722bcc7,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
93 | typedef struct IOleDocumentSite IOleDocumentSite, *LPOLEDOCUMENTSITE;
|
---|
94 |
|
---|
95 | DEFINE_GUID(IID_IOleDocumentView, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
96 | typedef struct IOleDocumentView IOleDocumentView, *LPOLEDOCUMENTVIEW;
|
---|
97 |
|
---|
98 | DEFINE_GUID(IID_IEnumOleDocumentViews, 0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
99 | typedef struct IEnumOleDocumentViews IEnumOleDocumentViews, *LPENUMOLEDOCUMENTVIEWS;
|
---|
100 |
|
---|
101 | DEFINE_GUID(IID_IOleCommandTarget, 0xb722bccb,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
102 | typedef struct IOleCommandTarget IOleCommandTarget, *LPOLECOMMANDTARGET;
|
---|
103 |
|
---|
104 | DEFINE_GUID(IID_IContinueCallback, 0xb722bcca,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
105 | typedef struct IContinueCallback IContinueCallback, *LPCONTINUECALLBACK;
|
---|
106 |
|
---|
107 | DEFINE_GUID(IID_IPrint, 0xb722bcc9,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
---|
108 | typedef struct IPrint IPrint, *LPPRINT;
|
---|
109 |
|
---|
110 | DEFINE_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
|
---|
123 | ICOM_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
|
---|
147 | ICOM_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
|
---|
181 | ICOM_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
|
---|
218 | ICOM_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
|
---|
244 | ICOM_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
|
---|
268 | ICOM_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
|
---|
293 | ICOM_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 */
|
---|