explorer:
[reactos.git] / reactos / w32api / include / docobj.h
1 #ifndef _DOCOBJ_H
2 #define _DOCOBJ_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #define OLECMDERR_E_UNKNOWNGROUP (-2147221244)
12 #define OLECMDERR_E_DISABLED (-2147221247)
13 #define OLECMDERR_E_NOHELP (-2147221246)
14 #define OLECMDERR_E_CANCELED (-2147221245)
15 #define OLECMDERR_E_NOTSUPPORTED (-2147221248)
16
17 typedef enum {
18 OLECMDID_OPEN = 1,
19 OLECMDID_NEW = 2,
20 OLECMDID_SAVE = 3,
21 OLECMDID_SAVEAS = 4,
22 OLECMDID_SAVECOPYAS = 5,
23 OLECMDID_PRINT = 6,
24 OLECMDID_PRINTPREVIEW = 7,
25 OLECMDID_PAGESETUP = 8,
26 OLECMDID_SPELL = 9,
27 OLECMDID_PROPERTIES = 10,
28 OLECMDID_CUT = 11,
29 OLECMDID_COPY = 12,
30 OLECMDID_PASTE = 13,
31 OLECMDID_PASTESPECIAL = 14,
32 OLECMDID_UNDO = 15,
33 OLECMDID_REDO = 16,
34 OLECMDID_SELECTALL = 17,
35 OLECMDID_CLEARSELECTION = 18,
36 OLECMDID_ZOOM = 19,
37 OLECMDID_GETZOOMRANGE = 20,
38 OLECMDID_UPDATECOMMANDS = 21,
39 OLECMDID_REFRESH = 22,
40 OLECMDID_STOP = 23,
41 OLECMDID_HIDETOOLBARS = 24,
42 OLECMDID_SETPROGRESSMAX = 25,
43 OLECMDID_SETPROGRESSPOS = 26,
44 OLECMDID_SETPROGRESSTEXT = 27,
45 OLECMDID_SETTITLE = 28,
46 OLECMDID_SETDOWNLOADSTATE = 29,
47 OLECMDID_STOPDOWNLOAD = 30
48 } OLECMDID;
49 typedef enum {
50 OLECMDF_SUPPORTED = 1,
51 OLECMDF_ENABLED = 2,
52 OLECMDF_LATCHED = 4,
53 OLECMDF_NINCHED = 8
54 } OLECMDF;
55 typedef enum {
56 OLECMDEXECOPT_DODEFAULT = 0,
57 OLECMDEXECOPT_PROMPTUSER = 1,
58 OLECMDEXECOPT_DONTPROMPTUSER = 2,
59 OLECMDEXECOPT_SHOWHELP = 3
60 } OLECMDEXECOPT;
61
62 typedef struct _tagOLECMDTEXT {
63 DWORD cmdtextf;
64 ULONG cwActual;
65 ULONG cwBuf;
66 wchar_t rgwz[1];
67 } OLECMDTEXT;
68 typedef struct _tagOLECMD {
69 ULONG cmdID;
70 DWORD cmdf;
71 } OLECMD;
72
73 typedef interface IOleInPlaceSite *LPOLEINPLACESITE;
74 typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
75
76 EXTERN_C const IID IID_IContinueCallback;
77 EXTERN_C const IID IID_IEnumOleDocumentViews;
78 EXTERN_C const IID IID_IPrint;
79
80 EXTERN_C const IID IID_IOleDocumentView;
81 #define INTERFACE IOleDocumentView
82 DECLARE_INTERFACE_(IOleDocumentView,IUnknown)
83 {
84 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
85 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
86 STDMETHOD_(ULONG,Release)(THIS) PURE;
87
88 STDMETHOD(SetInPlaceSite)(THIS_ LPOLEINPLACESITE) PURE;
89 STDMETHOD(GetInPlaceSite)(THIS_ LPOLEINPLACESITE*) PURE;
90 STDMETHOD(GetDocument)(THIS_ IUnknown*) PURE;
91 STDMETHOD(SetRect)(THIS_ LPRECT) PURE;
92 STDMETHOD(GetRect)(THIS_ LPRECT) PURE;
93 STDMETHOD(SetRectComplex)(THIS_ LPRECT,LPRECT,LPRECT,LPRECT) PURE;
94 STDMETHOD(Show)(THIS_ BOOL) PURE;
95 STDMETHOD(UIActivate)(THIS_ BOOL) PURE;
96 STDMETHOD(Open)(THIS) PURE;
97 STDMETHOD(Close)(THIS_ DWORD) PURE;
98 STDMETHOD(SaveViewState)(THIS_ IStream*) PURE;
99 STDMETHOD(ApplyViewState)(THIS_ IStream*) PURE;
100 STDMETHOD(Clone)(THIS_ LPOLEINPLACESITE,IOleDocumentView**) PURE;
101 };
102 #undef INTERFACE
103
104 DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);
105
106 EXTERN_C const IID IID_IOleDocument;
107 #define INTERFACE IOleDocument
108 DECLARE_INTERFACE_(IOleDocument,IUnknown)
109 {
110 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
111 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
112 STDMETHOD_(ULONG,Release)(THIS) PURE;
113
114 STDMETHOD(CreateView)(THIS_ LPOLEINPLACESITE,IStream*,DWORD,IOleDocumentView**) PURE;
115 STDMETHOD(GetDocMiscStatus)(THIS_ DWORD*) PURE;
116 STDMETHOD(EnumViews)(THIS_ LPENUMOLEDOCUMENTVIEWS*,IOleDocumentView**) PURE;
117 };
118 #undef INTERFACE
119
120 EXTERN_C const IID IID_IOleCommandTarget;
121 #define INTERFACE IOleCommandTarget
122 DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)
123 {
124 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
125 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
126 STDMETHOD_(ULONG,Release)(THIS) PURE;
127
128 STDMETHOD(QueryStatus)(THIS_ const GUID*,ULONG,OLECMD*,OLECMDTEXT*) PURE;
129 STDMETHOD(Exec)(THIS_ const GUID*,DWORD,DWORD,VARIANTARG*,VARIANTARG*) PURE;
130 };
131 #undef INTERFACE
132
133 EXTERN_C const IID IID_IOleDocumentSite;
134 #define INTERFACE IOleDocumentSite
135 DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)
136 {
137 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
138 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
139 STDMETHOD_(ULONG,Release)(THIS) PURE;
140
141 STDMETHOD(ActivateMe)(THIS_ IOleDocumentView*) PURE;
142 };
143 #undef INTERFACE
144
145 #ifdef __cplusplus
146 }
147 #endif
148 #endif