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