2 * Copyright (C) 1999 Paul Quinn
3 * Copyright (C) 2003 Alexandre Julliard
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 import
"servprov.idl";
27 interface IOleDocumentView
;
28 interface IEnumOleDocumentViews
;
31 /*****************************************************************************
32 * IOleDocument interface
36 uuid(b722bcc5
-4e68
-101b
-a2bc
-00aa00404770
),
37 pointer_default(unique)
39 interface IOleDocument
: IUnknown
41 typedef [unique] IOleDocument
*LPOLEDOCUMENT
;
45 DOCMISC_CANCREATEMULTIPLEVIEWS
= 1,
46 DOCMISC_SUPPORTCOMPLEXRECTANGLES
= 2,
47 DOCMISC_CANTOPENEDIT
= 4,
48 DOCMISC_NOFILESUPPORT
= 8
52 [in, unique] IOleInPlaceSite
*pIPSite
,
53 [in, unique] IStream
*pstm
,
54 [in] DWORD dwReserved
,
55 [out] IOleDocumentView
**ppView
);
57 HRESULT GetDocMiscStatus
(
58 [out] DWORD
*pdwStatus
);
61 [out] IEnumOleDocumentViews
**ppEnum
,
62 [out] IOleDocumentView
**ppView
);
66 /*****************************************************************************
67 * IOleDocumentSite interface
71 uuid(b722bcc7
-4e68
-101b
-a2bc
-00aa00404770
),
72 pointer_default(unique)
74 interface IOleDocumentSite
: IUnknown
76 typedef [unique] IOleDocumentSite
*LPOLEDOCUMENTSITE
;
78 HRESULT ActivateMe
( [in] IOleDocumentView
*pViewToActivate
);
82 /*****************************************************************************
83 * IOleDocumentView interface
87 uuid(b722bcc6
-4e68
-101b
-a2bc
-00aa00404770
),
88 pointer_default(unique)
90 interface IOleDocumentView
: IUnknown
92 typedef [unique] IOleDocumentView
*LPOLEDOCUMENTVIEW
;
94 HRESULT SetInPlaceSite
( [in, unique] IOleInPlaceSite
*pIPSite
);
96 HRESULT GetInPlaceSite
( [out] IOleInPlaceSite
**ppIPSite
);
98 HRESULT GetDocument
( [out] IUnknown
**ppunk
);
100 HRESULT SetRect
( [in] LPRECT prcView
);
102 HRESULT GetRect
( [out] LPRECT prcView
);
104 HRESULT SetRectComplex
(
105 [in, unique] LPRECT prcView
,
106 [in, unique] LPRECT prcHScroll
,
107 [in, unique] LPRECT prcVScroll
,
108 [in, unique] LPRECT prcSizeBox
);
110 HRESULT Show
( [in] BOOL fShow
);
112 HRESULT UIActivate
( [in] BOOL fUIActivate
);
116 HRESULT CloseView
( [in] DWORD dwReserved
);
118 HRESULT SaveViewState
( [in] LPSTREAM pstm
);
120 HRESULT ApplyViewState
( [in] LPSTREAM pstm
);
123 [in] IOleInPlaceSite
*pIPSiteNew
,
124 [out] IOleDocumentView
**ppViewNew
);
128 /*****************************************************************************
129 * IEnumOleDocumentViews interface
133 uuid(b722bcc8
-4e68
-101b
-a2bc
-00aa00404770
),
134 pointer_default(unique)
136 interface IEnumOleDocumentViews
: IUnknown
138 typedef [unique] IEnumOleDocumentViews
*LPENUMOLEDOCUMENTVIEWS
;
143 [out] IOleDocumentView
**rgpView
,
144 [out] ULONG
*pcFetched
);
149 [out, size_is(cViews
), length_is(*pcFetched
)] IOleDocumentView
**rgpView
,
150 [out] ULONG
*pcFetched
);
152 HRESULT Skip
( [in] ULONG cViews
);
156 HRESULT Clone
( [out] IEnumOleDocumentViews
**ppEnum
);
160 /*****************************************************************************
161 * IOleCommandTarget interface
165 uuid(b722bccb
-4e68
-101b
-a2bc
-00aa00404770
),
166 pointer_default(unique)
168 interface IOleCommandTarget
: IUnknown
170 typedef [unique] IOleCommandTarget
*LPOLECOMMANDTARGET
;
174 OLECMDF_SUPPORTED
= 0x1,
175 OLECMDF_ENABLED
= 0x2,
176 OLECMDF_LATCHED
= 0x4,
177 OLECMDF_NINCHED
= 0x8,
178 OLECMDF_INVISIBLE
= 0x10,
179 OLECMDF_DEFHIDEONCTXTMENU
= 0x20
182 typedef struct _tagOLECMD
188 typedef struct _tagOLECMDTEXT
193 [size_is(cwBuf
)] WCHAR rgwz
[];
196 typedef enum OLECMDTEXTF
198 OLECMDTEXTF_NONE
= 0,
199 OLECMDTEXTF_NAME
= 1,
200 OLECMDTEXTF_STATUS
= 2
203 typedef enum OLECMDEXECOPT
205 OLECMDEXECOPT_DODEFAULT
= 0,
206 OLECMDEXECOPT_PROMPTUSER
= 1,
207 OLECMDEXECOPT_DONTPROMPTUSER
= 2,
208 OLECMDEXECOPT_SHOWHELP
= 3
211 typedef enum OLECMDID
217 OLECMDID_SAVECOPYAS
= 5,
219 OLECMDID_PRINTPREVIEW
= 7,
220 OLECMDID_PAGESETUP
= 8,
222 OLECMDID_PROPERTIES
= 10,
226 OLECMDID_PASTESPECIAL
= 14,
229 OLECMDID_SELECTALL
= 17,
230 OLECMDID_CLEARSELECTION
= 18,
232 OLECMDID_GETZOOMRANGE
= 20,
233 OLECMDID_UPDATECOMMANDS
= 21,
234 OLECMDID_REFRESH
= 22,
236 OLECMDID_HIDETOOLBARS
= 24,
237 OLECMDID_SETPROGRESSMAX
= 25,
238 OLECMDID_SETPROGRESSPOS
= 26,
239 OLECMDID_SETPROGRESSTEXT
= 27,
240 OLECMDID_SETTITLE
= 28,
241 OLECMDID_SETDOWNLOADSTATE
= 29,
242 OLECMDID_STOPDOWNLOAD
= 30,
243 OLECMDID_ONTOOLBARACTIVATED
= 31,
245 OLECMDID_DELETE
= 33,
246 OLECMDID_HTTPEQUIV
= 34,
247 OLECMDID_HTTPEQUIV_DONE
= 35,
248 OLECMDID_ENABLE_INTERACTION
= 36,
249 OLECMDID_ONUNLOAD
= 37,
250 OLECMDID_PROPERTYBAG2
= 38,
251 OLECMDID_PREREFRESH
= 39,
252 /* iexplorer uses ... 44 */
253 OLECMDID_SHOWSCRIPTERROR
= 40,
254 OLECMDID_SHOWMESSAGE
= 41,
255 OLECMDID_SHOWFIND
= 42,
256 OLECMDID_SHOWPAGESETUP
= 43,
257 OLECMDID_SHOWPRINT
= 44,
259 OLECMDID_ALLOWUILESSSAVEAS
= 46,
260 OLECMDID_DONTDOWNLOADCSS
= 47,
261 OLECMDID_UPDATEPAGESTATUS
= 48,
262 OLECMDID_PRINT2
= 49,
263 OLECMDID_PRINTPREVIEW2
= 50,
264 OLECMDID_SETPRINTTEMPLATE
= 51,
265 OLECMDID_GETPRINTTEMPLATE
= 52,
266 OLECMDID_PAGEACTIONBLOCKED
= 55,
267 OLECMDID_PAGEACTIONUIQUERY
= 56,
268 OLECMDID_FOCUSVIEWCONTROLS
= 57,
269 OLECMDID_FOCUSVIEWCONTROLSQUERY
= 58,
270 OLECMDID_SHOWPAGEACTIONMENU
= 59,
271 OLECMDID_ADDTRAVELENTRY
= 60,
272 OLECMDID_UPDATETRAVELENTRY
= 61,
273 OLECMDID_UPDATEBACKFORWARDSTATE
= 62,
274 OLECMDID_OPTICAL_ZOOM
= 63,
275 OLECMDID_OPTICAL_GETZOOMRANGE
= 64,
276 OLECMDID_WINDOWSTATECHANGED
= 65,
277 OLECMDID_ACTIVEXINSTALLSCOPE
= 66,
278 OLECMDID_UPDATETRAVELENTRY_DATARECOVERY
= 67,
279 OLECMDID_SHOWTASKDLG
= 68,
280 OLECMDID_POPSTATEEVENT
= 69,
281 OLECMDID_VIEWPORT_MODE
= 70,
282 OLECMDID_LAYOUT_VIEWPORT_WIDTH
= 71,
283 OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM
= 72,
284 OLECMDID_USER_OPTICAL_ZOOM
= 73,
285 OLECMDID_PAGEAVAILABLE
= 74,
286 OLECMDID_GETUSERSCALABLE
= 75,
287 OLECMDID_UPDATE_CARET
= 76,
288 OLECMDID_ENABLE_VISIBILITY
= 77,
289 OLECMDID_MEDIA_PLAYBACK
= 78
293 [in, unique] const GUID
*pguidCmdGroup
,
295 [in, out, size_is(cCmds
)] OLECMD prgCmds
[],
296 [in, out, unique] OLECMDTEXT
*pCmdText
);
299 [in, unique] const GUID
*pguidCmdGroup
,
301 [in] DWORD nCmdexecopt
,
302 [in, unique] VARIANT *pvaIn
,
303 [in, out, unique] VARIANT *pvaOut
);
307 /*****************************************************************************
308 * IContinueCallback interface
312 uuid(b722bcca
-4e68
-101b
-a2bc
-00aa00404770
),
313 pointer_default(unique)
315 interface IContinueCallback
: IUnknown
317 typedef [unique] IContinueCallback
*LPCONTINUECALLBACK
;
321 HRESULT FContinuePrinting
(
322 [in] LONG nCntPrinted
,
324 [in, unique] WCHAR
*pwszPrintStatus
);
328 /*****************************************************************************
333 uuid(b722bcc9
-4e68
-101b
-a2bc
-00aa00404770
),
334 pointer_default(unique)
336 interface IPrint
: IUnknown
338 typedef [unique] IPrint
*LPPRINT
;
342 PRINTFLAG_MAYBOTHERUSER
= 1,
343 PRINTFLAG_PROMPTUSER
= 2,
344 PRINTFLAG_USERMAYCHANGEPRINTER
= 4,
345 PRINTFLAG_RECOMPOSETODEVICE
= 8,
346 PRINTFLAG_DONTACTUALLYPRINT
= 16,
347 PRINTFLAG_FORCEPROPERTIES
= 32,
348 PRINTFLAG_PRINTTOFILE
= 64
351 typedef struct tagPAGERANGE
357 typedef struct tagPAGESET
363 [size_is(cPageRange
)] PAGERANGE rgPages
[];
366 HRESULT SetInitialPageNum
(
367 [in] LONG nFirstPage
);
370 [out] LONG *pnFirstPage
,
371 [out] LONG *pcPages
);
376 [in, out] DVTARGETDEVICE
**pptd
,
377 [in, out] PAGESET
**ppPageSet
,
378 [in, out, unique] STGMEDIUM
*pstgmOptions
,
379 [in] IContinueCallback
*pcallback
,
380 [in] LONG nFirstPage
,
381 [out] LONG *pcPagesPrinted
,
382 [out] LONG *pnLastPage
);
387 [in, out] DVTARGETDEVICE
**pptd
,
388 [in, out] PAGESET
**pppageset
,
389 [in, out, unique] RemSTGMEDIUM
*pstgmOptions
,
390 [in] IContinueCallback
*pcallback
,
391 [in] LONG nFirstPage
,
392 [out] LONG *pcPagesPrinted
,
393 [out] LONG *pnLastPage
);
397 cpp_quote
("#define OLECMDERR_E_FIRST (OLE_E_LAST+1)")
398 cpp_quote
("#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)")
399 cpp_quote
("#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)")
400 cpp_quote
("#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)")
401 cpp_quote
("#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)")
402 cpp_quote
("#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)")
404 cpp_quote
("#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST")
405 cpp_quote
("#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED")
406 cpp_quote
("#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED")
407 cpp_quote
("#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP")
408 cpp_quote
("#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED")
409 cpp_quote
("#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP")
411 cpp_quote
("#define LPMSODOCUMENT LPOLEDOCUMENT")
412 cpp_quote
("#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE")
413 cpp_quote
("#define LPMSOVIEW LPOLEDOCUMENTVIEW")
414 cpp_quote
("#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS")
415 cpp_quote
("#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET")
416 cpp_quote
("#define IID_IMsoDocument IID_IOleDocument")
417 cpp_quote
("#define IID_IMsoDocumentSite IID_IOleDocumentSite")
418 cpp_quote
("#define IID_IMsoView IID_IOleDocumentView")
419 cpp_quote
("#define IID_IEnumMsoView IID_IEnumOleDocumentViews")
420 cpp_quote
("#define IID_IMsoCommandTarget IID_IOleCommandTarget")
422 cpp_quote
("EXTERN_C const GUID SID_SContainerDispatch;")