| /* | |
| * Copyright (C) 1999 Paul Quinn | |
| * Copyright (C) 2003 Alexandre Julliard | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| */ | |
| import "ocidl.idl"; | |
| import "objidl.idl"; | |
| import "oleidl.idl"; | |
| import "oaidl.idl"; | |
| import "servprov.idl"; | |
| interface IOleDocumentView; | |
| interface IEnumOleDocumentViews; | |
| /***************************************************************************** | |
| * IOleDocument interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcc5-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IOleDocument : IUnknown | |
| { | |
| typedef [unique] IOleDocument *LPOLEDOCUMENT; | |
| typedef enum | |
| { | |
| DOCMISC_CANCREATEMULTIPLEVIEWS = 1, | |
| DOCMISC_SUPPORTCOMPLEXRECTANGLES = 2, | |
| DOCMISC_CANTOPENEDIT = 4, | |
| DOCMISC_NOFILESUPPORT = 8 | |
| } DOCMISC; | |
| HRESULT CreateView( | |
| [in, unique] IOleInPlaceSite *pIPSite, | |
| [in, unique] IStream *pstm, | |
| [in] DWORD dwReserved, | |
| [out] IOleDocumentView **ppView); | |
| HRESULT GetDocMiscStatus( | |
| [out] DWORD *pdwStatus); | |
| HRESULT EnumViews( | |
| [out] IEnumOleDocumentViews **ppEnum, | |
| [out] IOleDocumentView **ppView); | |
| } | |
| /***************************************************************************** | |
| * IOleDocumentSite interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcc7-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IOleDocumentSite : IUnknown | |
| { | |
| typedef [unique] IOleDocumentSite *LPOLEDOCUMENTSITE; | |
| HRESULT ActivateMe( [in] IOleDocumentView *pViewToActivate ); | |
| } | |
| /***************************************************************************** | |
| * IOleDocumentView interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcc6-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IOleDocumentView : IUnknown | |
| { | |
| typedef [unique] IOleDocumentView *LPOLEDOCUMENTVIEW; | |
| HRESULT SetInPlaceSite( [in, unique] IOleInPlaceSite *pIPSite ); | |
| HRESULT GetInPlaceSite( [out] IOleInPlaceSite **ppIPSite ); | |
| HRESULT GetDocument( [out] IUnknown **ppunk ); | |
| HRESULT SetRect( [in] LPRECT prcView ); | |
| HRESULT GetRect( [out] LPRECT prcView ); | |
| HRESULT SetRectComplex( | |
| [in, unique] LPRECT prcView, | |
| [in, unique] LPRECT prcHScroll, | |
| [in, unique] LPRECT prcVScroll, | |
| [in, unique] LPRECT prcSizeBox); | |
| HRESULT Show( [in] BOOL fShow ); | |
| HRESULT UIActivate( [in] BOOL fUIActivate ); | |
| HRESULT Open(); | |
| HRESULT CloseView( [in] DWORD dwReserved ); | |
| HRESULT SaveViewState( [in] LPSTREAM pstm ); | |
| HRESULT ApplyViewState( [in] LPSTREAM pstm ); | |
| HRESULT Clone( | |
| [in] IOleInPlaceSite *pIPSiteNew, | |
| [out] IOleDocumentView **ppViewNew); | |
| } | |
| /***************************************************************************** | |
| * IEnumOleDocumentViews interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcc8-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IEnumOleDocumentViews : IUnknown | |
| { | |
| typedef [unique] IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS; | |
| [local] | |
| HRESULT Next( | |
| [in] ULONG cViews, | |
| [out] IOleDocumentView **rgpView, | |
| [out] ULONG *pcFetched); | |
| [call_as(Next)] | |
| HRESULT RemoteNext( | |
| [in] ULONG cViews, | |
| [out, size_is(cViews), length_is(*pcFetched)] IOleDocumentView **rgpView, | |
| [out] ULONG *pcFetched); | |
| HRESULT Skip( [in] ULONG cViews ); | |
| HRESULT Reset(); | |
| HRESULT Clone( [out] IEnumOleDocumentViews **ppEnum ); | |
| } | |
| /***************************************************************************** | |
| * IOleCommandTarget interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bccb-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IOleCommandTarget : IUnknown | |
| { | |
| typedef [unique] IOleCommandTarget *LPOLECOMMANDTARGET; | |
| typedef enum | |
| { | |
| OLECMDF_SUPPORTED = 0x1, | |
| OLECMDF_ENABLED = 0x2, | |
| OLECMDF_LATCHED = 0x4, | |
| OLECMDF_NINCHED = 0x8, | |
| OLECMDF_INVISIBLE = 0x10, | |
| OLECMDF_DEFHIDEONCTXTMENU = 0x20 | |
| } OLECMDF; | |
| typedef struct _tagOLECMD | |
| { | |
| ULONG cmdID; | |
| DWORD cmdf; | |
| } OLECMD; | |
| typedef struct _tagOLECMDTEXT | |
| { | |
| DWORD cmdtextf; | |
| ULONG cwActual; | |
| ULONG cwBuf; | |
| [size_is(cwBuf)] WCHAR rgwz[]; | |
| } OLECMDTEXT; | |
| typedef enum | |
| { | |
| OLECMDTEXTF_NONE = 0, | |
| OLECMDTEXTF_NAME = 1, | |
| OLECMDTEXTF_STATUS = 2 | |
| } OLECMDTEXTF; | |
| typedef enum | |
| { | |
| OLECMDEXECOPT_DODEFAULT = 0, | |
| OLECMDEXECOPT_PROMPTUSER = 1, | |
| OLECMDEXECOPT_DONTPROMPTUSER = 2, | |
| OLECMDEXECOPT_SHOWHELP = 3 | |
| } OLECMDEXECOPT; | |
| typedef enum OLECMDID | |
| { | |
| OLECMDID_OPEN = 1, | |
| OLECMDID_NEW = 2, | |
| OLECMDID_SAVE = 3, | |
| OLECMDID_SAVEAS = 4, | |
| OLECMDID_SAVECOPYAS = 5, | |
| OLECMDID_PRINT = 6, | |
| OLECMDID_PRINTPREVIEW = 7, | |
| OLECMDID_PAGESETUP = 8, | |
| OLECMDID_SPELL = 9, | |
| OLECMDID_PROPERTIES = 10, | |
| OLECMDID_CUT = 11, | |
| OLECMDID_COPY = 12, | |
| OLECMDID_PASTE = 13, | |
| OLECMDID_PASTESPECIAL = 14, | |
| OLECMDID_UNDO = 15, | |
| OLECMDID_REDO = 16, | |
| OLECMDID_SELECTALL = 17, | |
| OLECMDID_CLEARSELECTION = 18, | |
| OLECMDID_ZOOM = 19, | |
| OLECMDID_GETZOOMRANGE = 20, | |
| OLECMDID_UPDATECOMMANDS = 21, | |
| OLECMDID_REFRESH = 22, | |
| OLECMDID_STOP = 23, | |
| OLECMDID_HIDETOOLBARS = 24, | |
| OLECMDID_SETPROGRESSMAX = 25, | |
| OLECMDID_SETPROGRESSPOS = 26, | |
| OLECMDID_SETPROGRESSTEXT = 27, | |
| OLECMDID_SETTITLE = 28, | |
| OLECMDID_SETDOWNLOADSTATE = 29, | |
| OLECMDID_STOPDOWNLOAD = 30, | |
| OLECMDID_ONTOOLBARACTIVATED = 31, | |
| OLECMDID_FIND = 32, | |
| OLECMDID_DELETE = 33, | |
| OLECMDID_HTTPEQUIV = 34, | |
| OLECMDID_HTTPEQUIV_DONE = 35, | |
| OLECMDID_ENABLE_INTERACTION = 36, | |
| OLECMDID_ONUNLOAD = 37, | |
| OLECMDID_PROPERTYBAG2 = 38, | |
| OLECMDID_PREREFRESH = 39, | |
| /* iexplorer uses ... 44 */ | |
| OLECMDID_SHOWSCRIPTERROR = 40, | |
| OLECMDID_SHOWMESSAGE = 41, | |
| OLECMDID_SHOWFIND = 42, | |
| OLECMDID_SHOWPAGESETUP = 43, | |
| OLECMDID_SHOWPRINT = 44, | |
| OLECMDID_CLOSE = 45, | |
| OLECMDID_ALLOWUILESSSAVEAS = 46, | |
| OLECMDID_DONTDOWNLOADCSS = 47, | |
| OLECMDID_UPDATEPAGESTATUS = 48, | |
| OLECMDID_PRINT2 = 49, | |
| OLECMDID_PRINTPREVIEW2 = 50, | |
| OLECMDID_SETPRINTTEMPLATE = 51, | |
| OLECMDID_GETPRINTTEMPLATE = 52 | |
| } OLECMDID; | |
| HRESULT QueryStatus( | |
| [in, unique] const GUID *pguidCmdGroup, | |
| [in] ULONG cCmds, | |
| [in, out, size_is(cCmds)] OLECMD prgCmds[], | |
| [in, out, unique] OLECMDTEXT *pCmdText); | |
| HRESULT Exec( | |
| [in, unique] const GUID *pguidCmdGroup, | |
| [in] DWORD nCmdID, | |
| [in] DWORD nCmdexecopt, | |
| [in, unique] VARIANT *pvaIn, | |
| [in, out, unique] VARIANT *pvaOut); | |
| } | |
| /***************************************************************************** | |
| * IContinueCallback interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcca-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IContinueCallback : IUnknown | |
| { | |
| typedef [unique] IContinueCallback *LPCONTINUECALLBACK; | |
| HRESULT FContinue(); | |
| HRESULT FContinuePrinting( | |
| [in] LONG nCntPrinted, | |
| [in] LONG nCurPage, | |
| [in, unique] WCHAR *pwszPrintStatus); | |
| } | |
| /***************************************************************************** | |
| * IPrint interface | |
| */ | |
| [ | |
| object, | |
| uuid(b722bcc9-4e68-101b-a2bc-00aa00404770), | |
| pointer_default(unique) | |
| ] | |
| interface IPrint : IUnknown | |
| { | |
| typedef [unique] IPrint *LPPRINT; | |
| typedef enum | |
| { | |
| PRINTFLAG_MAYBOTHERUSER = 1, | |
| PRINTFLAG_PROMPTUSER = 2, | |
| PRINTFLAG_USERMAYCHANGEPRINTER = 4, | |
| PRINTFLAG_RECOMPOSETODEVICE = 8, | |
| PRINTFLAG_DONTACTUALLYPRINT = 16, | |
| PRINTFLAG_FORCEPROPERTIES = 32, | |
| PRINTFLAG_PRINTTOFILE = 64 | |
| } PRINTFLAG; | |
| typedef struct tagPAGERANGE | |
| { | |
| LONG nFromPage; | |
| LONG nToPage; | |
| } PAGERANGE; | |
| typedef struct tagPAGESET | |
| { | |
| ULONG cbStruct; | |
| BOOL fOddPages; | |
| BOOL fEvenPages; | |
| ULONG cPageRange; | |
| [size_is(cPageRange)] PAGERANGE rgPages[]; | |
| } PAGESET; | |
| HRESULT SetInitialPageNum( | |
| [in] LONG nFirstPage); | |
| HRESULT GetPageInfo( | |
| [out] LONG *pnFirstPage, | |
| [out] LONG *pcPages); | |
| [local] | |
| HRESULT Print( | |
| [in] DWORD grfFlags, | |
| [in, out] DVTARGETDEVICE **pptd, | |
| [in, out] PAGESET **ppPageSet, | |
| [in, out, unique] STGMEDIUM *pstgmOptions, | |
| [in] IContinueCallback *pcallback, | |
| [in] LONG nFirstPage, | |
| [out] LONG *pcPagesPrinted, | |
| [out] LONG *pnLastPage); | |
| [call_as(Print)] | |
| HRESULT RemotePrint( | |
| [in] DWORD grfFlags, | |
| [in, out] DVTARGETDEVICE **pptd, | |
| [in, out] PAGESET **pppageset, | |
| [in, out, unique] RemSTGMEDIUM *pstgmOptions, | |
| [in] IContinueCallback *pcallback, | |
| [in] LONG nFirstPage, | |
| [out] LONG *pcPagesPrinted, | |
| [out] LONG *pnLastPage); | |
| } | |
| cpp_quote("#define OLECMDERR_E_FIRST (OLE_E_LAST+1)") | |
| cpp_quote("#define OLECMDERR_E_NOTSUPPORTED (OLECMDERR_E_FIRST)") | |
| cpp_quote("#define OLECMDERR_E_DISABLED (OLECMDERR_E_FIRST+1)") | |
| cpp_quote("#define OLECMDERR_E_NOHELP (OLECMDERR_E_FIRST+2)") | |
| cpp_quote("#define OLECMDERR_E_CANCELED (OLECMDERR_E_FIRST+3)") | |
| cpp_quote("#define OLECMDERR_E_UNKNOWNGROUP (OLECMDERR_E_FIRST+4)") | |
| cpp_quote("#define MSOCMDERR_E_FIRST OLECMDERR_E_FIRST") | |
| cpp_quote("#define MSOCMDERR_E_NOTSUPPORTED OLECMDERR_E_NOTSUPPORTED") | |
| cpp_quote("#define MSOCMDERR_E_DISABLED OLECMDERR_E_DISABLED") | |
| cpp_quote("#define MSOCMDERR_E_NOHELP OLECMDERR_E_NOHELP") | |
| cpp_quote("#define MSOCMDERR_E_CANCELED OLECMDERR_E_CANCELED") | |
| cpp_quote("#define MSOCMDERR_E_UNKNOWNGROUP OLECMDERR_E_UNKNOWNGROUP") | |
| cpp_quote("#define LPMSODOCUMENT LPOLEDOCUMENT") | |
| cpp_quote("#define LPMSODOCUMENTSITE LPOLEDOCUMENTSITE") | |
| cpp_quote("#define LPMSOVIEW LPOLEDOCUMENTVIEW") | |
| cpp_quote("#define LPENUMMSOVIEW LPENUMOLEDOCUMENTVIEWS") | |
| cpp_quote("#define LPMSOCOMMANDTARGET LPOLECOMMANDTARGET") | |
| cpp_quote("#define IID_IMsoDocument IID_IOleDocument") | |
| cpp_quote("#define IID_IMsoDocumentSite IID_IOleDocumentSite") | |
| cpp_quote("#define IID_IMsoView IID_IOleDocumentView") | |
| cpp_quote("#define IID_IEnumMsoView IID_IEnumOleDocumentViews") | |
| cpp_quote("#define IID_IMsoCommandTarget IID_IOleCommandTarget") |