1 /**
2 * @file docobj.h
3 * Copyright 2012, 2013 MinGW.org project
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24 #ifndef _DOCOBJ_H
25 #define _DOCOBJ_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #define OLECMDERR_E_UNKNOWNGROUP (-2147221244)
34 #define OLECMDERR_E_DISABLED (-2147221247)
35 #define OLECMDERR_E_NOHELP (-2147221246)
36 #define OLECMDERR_E_CANCELED (-2147221245)
37 #define OLECMDERR_E_NOTSUPPORTED (-2147221248)
38
39 typedef enum {
40 OLECMDID_OPEN = 1,
41 OLECMDID_NEW = 2,
42 OLECMDID_SAVE = 3,
43 OLECMDID_SAVEAS = 4,
44 OLECMDID_SAVECOPYAS = 5,
45 OLECMDID_PRINT = 6,
46 OLECMDID_PRINTPREVIEW = 7,
47 OLECMDID_PAGESETUP = 8,
48 OLECMDID_SPELL = 9,
49 OLECMDID_PROPERTIES = 10,
50 OLECMDID_CUT = 11,
51 OLECMDID_COPY = 12,
52 OLECMDID_PASTE = 13,
53 OLECMDID_PASTESPECIAL = 14,
54 OLECMDID_UNDO = 15,
55 OLECMDID_REDO = 16,
56 OLECMDID_SELECTALL = 17,
57 OLECMDID_CLEARSELECTION = 18,
58 OLECMDID_ZOOM = 19,
59 OLECMDID_GETZOOMRANGE = 20,
60 OLECMDID_UPDATECOMMANDS = 21,
61 OLECMDID_REFRESH = 22,
62 OLECMDID_STOP = 23,
63 OLECMDID_HIDETOOLBARS = 24,
64 OLECMDID_SETPROGRESSMAX = 25,
65 OLECMDID_SETPROGRESSPOS = 26,
66 OLECMDID_SETPROGRESSTEXT = 27,
67 OLECMDID_SETTITLE = 28,
68 OLECMDID_SETDOWNLOADSTATE = 29,
69 OLECMDID_STOPDOWNLOAD = 30
70 } OLECMDID;
71 typedef enum {
72 OLECMDF_SUPPORTED = 1,
73 OLECMDF_ENABLED = 2,
74 OLECMDF_LATCHED = 4,
75 OLECMDF_NINCHED = 8
76 } OLECMDF;
77 typedef enum {
78 OLECMDEXECOPT_DODEFAULT = 0,
79 OLECMDEXECOPT_PROMPTUSER = 1,
80 OLECMDEXECOPT_DONTPROMPTUSER = 2,
81 OLECMDEXECOPT_SHOWHELP = 3
82 } OLECMDEXECOPT;
83
84 typedef struct _tagOLECMDTEXT {
85 DWORD cmdtextf;
86 ULONG cwActual;
87 ULONG cwBuf;
88 wchar_t rgwz[1];
89 } OLECMDTEXT;
90 typedef struct _tagOLECMD {
91 ULONG cmdID;
92 DWORD cmdf;
93 } OLECMD;
94
95 typedef _COM_interface IOleInPlaceSite *LPOLEINPLACESITE;
96 typedef _COM_interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
97
98 EXTERN_C const IID IID_IContinueCallback;
99 EXTERN_C const IID IID_IEnumOleDocumentViews;
100 EXTERN_C const IID IID_IPrint;
101
102 EXTERN_C const IID IID_IOleDocumentView;
103 #define INTERFACE IOleDocumentView
DECLARE_INTERFACE_(IOleDocumentView,IUnknown)104 DECLARE_INTERFACE_(IOleDocumentView,IUnknown)
105 {
106 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
107 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
108 STDMETHOD_(ULONG,Release)(THIS) PURE;
109
110 STDMETHOD(SetInPlaceSite)(THIS_ LPOLEINPLACESITE) PURE;
111 STDMETHOD(GetInPlaceSite)(THIS_ LPOLEINPLACESITE*) PURE;
112 STDMETHOD(GetDocument)(THIS_ IUnknown**) PURE;
113 STDMETHOD(SetRect)(THIS_ LPRECT) PURE;
114 STDMETHOD(GetRect)(THIS_ LPRECT) PURE;
115 STDMETHOD(SetRectComplex)(THIS_ LPRECT,LPRECT,LPRECT,LPRECT) PURE;
116 STDMETHOD(Show)(THIS_ BOOL) PURE;
117 STDMETHOD(UIActivate)(THIS_ BOOL) PURE;
118 STDMETHOD(Open)(THIS) PURE;
119 STDMETHOD(Close)(THIS_ DWORD) PURE;
120 STDMETHOD(SaveViewState)(THIS_ IStream*) PURE;
121 STDMETHOD(ApplyViewState)(THIS_ IStream*) PURE;
122 STDMETHOD(Clone)(THIS_ LPOLEINPLACESITE,IOleDocumentView**) PURE;
123 };
124 #undef INTERFACE
125 DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);
126
127 EXTERN_C const IID IID_IOleDocument;
128 #define INTERFACE IOleDocument
DECLARE_INTERFACE_(IOleDocument,IUnknown)129 DECLARE_INTERFACE_(IOleDocument,IUnknown)
130 {
131 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
132 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
133 STDMETHOD_(ULONG,Release)(THIS) PURE;
134
135 STDMETHOD(CreateView)(THIS_ LPOLEINPLACESITE,IStream*,DWORD,IOleDocumentView**) PURE;
136 STDMETHOD(GetDocMiscStatus)(THIS_ DWORD*) PURE;
137 STDMETHOD(EnumViews)(THIS_ LPENUMOLEDOCUMENTVIEWS*,IOleDocumentView**) PURE;
138 };
139 #undef INTERFACE
140
141 EXTERN_C const IID IID_IOleCommandTarget;
142 #define INTERFACE IOleCommandTarget
DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)143 DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)
144 {
145 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
146 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
147 STDMETHOD_(ULONG,Release)(THIS) PURE;
148
149 STDMETHOD(QueryStatus)(THIS_ const GUID*,ULONG,OLECMD*,OLECMDTEXT*) PURE;
150 STDMETHOD(Exec)(THIS_ const GUID*,DWORD,DWORD,VARIANTARG*,VARIANTARG*) PURE;
151 };
152 #undef INTERFACE
153
154 EXTERN_C const IID IID_IOleDocumentSite;
155 #define INTERFACE IOleDocumentSite
DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)156 DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)
157 {
158 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
159 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
160 STDMETHOD_(ULONG,Release)(THIS) PURE;
161
162 STDMETHOD(ActivateMe)(THIS_ IOleDocumentView*) PURE;
163 };
164 #undef INTERFACE
165
166 #ifdef __cplusplus
167 }
168 #endif
169 #endif
170