Implement GlobalMemoryStatusEx for Solaris.
[wine] / include / mshtmhst.idl
1 /*
2  * Copyright 2005 Jacek Caban
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 import "ocidl.idl";
20 import "objidl.idl";
21 import "oleidl.idl";
22 import "oaidl.idl";
23 import "docobj.idl";
24
25 cpp_quote("#define CONTEXT_MENU_DEFAULT     0")
26 cpp_quote("#define CONTEXT_MENU_IMAGE       1")
27 cpp_quote("#define CONTEXT_MENU_CONTROL     2")
28 cpp_quote("#define CONTEXT_MENU_TABLE       3")
29 cpp_quote("#define CONTEXT_MENU_TEXTSELECT  4")
30 cpp_quote("#define CONTEXT_MENU_ANCHOR      5")
31 cpp_quote("#define CONTEXT_MENU_UNKNOWN     6")
32 cpp_quote("#define CONTEXT_MENU_IMGDYNSRC   7")
33 cpp_quote("#define CONTEXT_MENU_IMGART      8")
34 cpp_quote("#define CONTEXT_MENU_DEBUG       9")
35 cpp_quote("#define CONTEXT_MENU_VSCROLL    10")
36 cpp_quote("#define CONTEXT_MENU_HSCROLL    11")
37
38 cpp_quote("#define MENUEXT_SHOWDIALOG 1")
39
40 cpp_quote("#define DOCHOSTUIFLAG_BROWSER (DOCHOSTUIFLAG_DISABLE_HELP_MENU|DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE)")
41
42 cpp_quote("#define HTMLDLG_NOUI            0x0010")
43 cpp_quote("#define HTMLDLG_MODAL           0x0020")
44 cpp_quote("#define HTMLDLG_MODELESS        0x0040")
45 cpp_quote("#define HTMLDLG_PRINT_TEMPLATE  0x0080")
46 cpp_quote("#define HTMLDLG_VERIFY          0x0100")
47
48 cpp_quote("#define PRINT_DONTBOTHERUSER     0x0001")
49 cpp_quote("#define PRINT_WAITFORCOMPLETION  0x0002")
50
51 /*****************************************************************************
52  *    IHostDialogHelper interface
53  */
54 [
55     object,
56     uuid(53DEC138-A51E-11d2-861E-00C04FA35C89),
57     pointer_default(unique),
58     local
59 ]
60 interface IHostDialogHelper : IUnknown
61 {
62     HRESULT ShowHTMLDialog(
63         HWND hwndParent,
64         IMoniker *pMk,
65         VARIANT *pvarArgIn,
66         WCHAR *pchOptions,
67         VARIANT *pvarArgOut,
68         IUnknown *punkHost);
69 }
70
71 /*****************************************************************************
72  *    HostDialogHelper coclass
73  */
74 [
75     uuid(429AF92C-A51F-11d2-861E-00C04FA35C89)
76 ]
77 coclass HostDialogHelper
78 {
79     [default] interface IHostDialogHelper;
80 };
81
82 /*****************************************************************************
83  *    IDocHostUIHandler interface
84  */
85
86 typedef enum tagDOCHOSTUIDBLCLK
87 {
88     DOCHOSTUIDBLCLK_DEFAULT         = 0,
89     DOCHOSTUIDBLCLK_SHOWPROPERTIES  = 1,
90     DOCHOSTUIDBLCLK_SHOWCODE        = 2
91 } DOCHOSTUIDBLCLK;
92
93 typedef enum tagDOCHOSTUIFLAG
94 {
95     DOCHOSTUIFLAG_DIALOG                      = 0x00000001,
96     DOCHOSTUIFLAG_DISABLE_HELP_MENU           = 0x00000002,
97     DOCHOSTUIFLAG_NO3DBORDER                  = 0x00000004,
98     DOCHOSTUIFLAG_SCROLL_NO                   = 0x00000008,
99     DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE     = 0x00000010,
100     DOCHOSTUIFLAG_OPENNEWWIN                  = 0x00000020,
101     DOCHOSTUIFLAG_DISABLE_OFFSCREEN           = 0x00000040,
102     DOCHOSTUIFLAG_FLAT_SCROLLBAR              = 0x00000080,
103     DOCHOSTUIFLAG_DIV_BLOCKDEFAULT            = 0x00000100,
104     DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY     = 0x00000200,
105     DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY     = 0x00000400,
106     DOCHOSTUIFLAG_CODEPAGELINKEDFONTS         = 0x00000800,
107     DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8   = 0x00001000,
108     DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8    = 0x00002000,
109     DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE   = 0x00004000,
110     DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION   = 0x00010000,
111     DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION     = 0x00020000,
112     DOCHOSTUIFLAG_THEME                       = 0x00040000,
113     DOCHOSTUIFLAG_NOTHEME                     = 0x00080000,
114     DOCHOSTUIFLAG_NOPICS                      = 0x00100000,
115     DOCHOSTUIFLAG_NO3DOUTERBORDER             = 0x00200000,
116     DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP       = 0x00400000,
117     DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK  = 0x00800000,
118     DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL   = 0x01000000
119 } DOCHOSTUIFLAG;
120
121 [
122     object,
123     uuid(BD3F23C0-D43E-11CF-893B-00AA00BDCE1A),
124     pointer_default(unique),
125     local
126 ]
127 interface IDocHostUIHandler : IUnknown
128 {
129     typedef struct _DOCHOSTUIINFO
130     {
131         ULONG cbSize;
132         DWORD dwFlags;
133         DWORD dwDoubleClick;
134         OLECHAR *pchHostCss;
135         OLECHAR *pchHostNS;
136     } DOCHOSTUIINFO;
137
138     HRESULT ShowContextMenu(
139         [in] DWORD dwID, 
140         [in] POINT *ppt, 
141         [in] IUnknown *pcmdtReserved,  
142         [in] IDispatch *pdispReserved);
143
144     HRESULT GetHostInfo([in, out] DOCHOSTUIINFO *pInfo);
145
146     HRESULT ShowUI(
147         [in] DWORD dwID,
148         [in] IOleInPlaceActiveObject *pActiveObject,
149         [in] IOleCommandTarget *pCommandTarget,
150         [in] IOleInPlaceFrame *pFrame,
151         [in] IOleInPlaceUIWindow *pDoc);
152
153     HRESULT HideUI();
154
155     HRESULT UpdateUI();
156
157     HRESULT EnableModeless([in] BOOL fEnable);
158
159     HRESULT OnDocWindowActivate([in] BOOL fActivate);
160
161     HRESULT OnFrameWindowActivate([in] BOOL fActivate);
162
163     HRESULT ResizeBorder(
164         [in] LPCRECT prcBorder,
165         [in] IOleInPlaceUIWindow *pUIWindow,
166         [in] BOOL fRameWindow);
167
168     HRESULT TranslateAccelerator(
169         [in] LPMSG lpMsg,
170         [in] const GUID *pguidCmdGroup, 
171         [in] DWORD nCmdID);
172
173     HRESULT GetOptionKeyPath(
174         [out] LPOLESTR *pchKey,
175         [in] DWORD dw);
176
177     HRESULT GetDropTarget(
178         [in] IDropTarget *pDropTarget, 
179         [out] IDropTarget **ppDropTarget);
180
181     HRESULT GetExternal([out] IDispatch **ppDispatch);
182
183     HRESULT TranslateUrl(
184         [in] DWORD dwTranslate,
185         [in] OLECHAR *pchURLIn,
186         [out] OLECHAR **ppchURLOut);
187
188     HRESULT FilterDataObject(
189         [in] IDataObject *pDO,
190         [out] IDataObject **ppDORet);
191 }
192
193 [
194     object,
195     uuid(3050F6D0-98b5-11CF-BB82-00AA00BDCE0B),
196     pointer_default(unique),
197     local
198 ]
199 interface IDocHostUIHandler2 : IDocHostUIHandler
200 {
201     HRESULT GetOverrideKeyPath(
202         [out] LPOLESTR *pchKey,
203         [in] DWORD dw);
204 }
205
206 /*****************************************************************************
207  *    ICustomDoc interface
208  */
209 [
210     object,
211     uuid(3050f3f0-98b5-11cf-bb82-00aa00bdce0b),
212     pointer_default(unique),
213     local
214 ]
215 interface ICustomDoc : IUnknown
216 {
217     HRESULT SetUIHandler([in] IDocHostUIHandler *pUIHandler);
218 }
219
220 /*****************************************************************************
221  *    IDocHostShowUI interface
222  */
223 [
224     object,
225     uuid(c4d244b0-d43e-11cf-893b-00aa00bdce1a),
226     pointer_default(unique),
227     local
228 ]
229 interface IDocHostShowUI : IUnknown
230 {
231     HRESULT ShowMessage(
232         [in] HWND hwnd,
233         [in] LPOLESTR lpstrText,
234         [in] LPOLESTR lpstrCaption,
235         [in] DWORD dwType,
236         [in] LPOLESTR lpstrHelpFile,
237         [in] DWORD dwHelpContext,
238         [out] LRESULT *plResult);
239
240     HRESULT ShowHelp(
241         [in] HWND hwnd,
242         [in] LPOLESTR pszHelpFile,
243         [in] UINT uCommand,
244         [in] DWORD dwData,
245         [in] POINT ptMouse,
246         [out] IDispatch *pDispatchObjectHit);
247 }
248
249 /*****************************************************************************
250  *    IClassFactoryEx interface
251  */
252
253 cpp_quote("#define IClassFactory3 IClassFactoryEx")
254 cpp_quote("#define IID_IClassFactory3 IID_IClassFactoryEx")
255
256 [
257     object,
258     uuid(342D1EA0-AE25-11D1-89C5-006008C3FBFC),
259     pointer_default(unique),
260     local
261 ]
262 interface IClassFactoryEx : IClassFactory
263 {
264     HRESULT CreateInstanceWithContext(
265         IUnknown *punkContext,
266         IUnknown *punkOuter,
267         REFIID riid,
268         [out] void **ppv);
269 };
270
271 cpp_quote("typedef HRESULT WINAPI SHOWHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);");
272 cpp_quote("typedef HRESULT WINAPI SHOWHTMLDIALOGEXFN(HWND,IMoniker*,DWORD,VARIANT*,WCHAR*,VARIANT*);");
273 cpp_quote("typedef HRESULT WINAPI SHOWMODELESSHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,VARIANT*,IHTMLWindow2**);");
274
275 cpp_quote("EXTERN_C HRESULT WINAPI ShowHTMLDialog(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);");
276 cpp_quote("EXTERN_C HRESULT WINAPI ShowHTMLDialogEx(HWND,IMoniker*,DWORD,VARIANT*,WCHAR*,VARIANT*);");
277 cpp_quote("EXTERN_C HRESULT WINAPI ShowModelessHTMLDialog(HWND,IMoniker*,VARIANT*,VARIANT*,IHTMLWindow2**);");
278 cpp_quote("EXTERN_C HRESULT WINAPI RunHTMLApplication(HINSTANCE,HINSTANCE,LPSTR,int);");
279 cpp_quote("EXTERN_C HRESULT WINAPI CreateHTMLPropertyPage(IMoniker*,IPropertyPage**);");