]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/webview_ie.h
Update of OpenVMS compile support
[wxWidgets.git] / include / wx / msw / webview_ie.h
CommitLineData
61b98a2d
SL
1/////////////////////////////////////////////////////////////////////////////
2// Name: include/wx/msw/webviewie.h
3// Purpose: wxMSW IE wxWebView backend
4// Author: Marianne Gagnon
5// Id: $Id$
153530af 6// Copyright: (c) 2010 Marianne Gagnon, 2011 Steven Lamerton
61b98a2d
SL
7// Licence: wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef wxWebViewIE_H
11#define wxWebViewIE_H
12
13#include "wx/setup.h"
14
9d2f31db 15#if wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE && defined(__WXMSW__)
61b98a2d
SL
16
17#include "wx/control.h"
18#include "wx/webview.h"
19#include "wx/msw/ole/automtn.h"
20#include "wx/msw/ole/activex.h"
9f194b9d 21#include "wx/msw/ole/oleutils.h"
f40f8e17 22#include "wx/msw/private/comptr.h"
97aa7b99 23#include "wx/msw/wrapwin.h"
e924e848 24#include "wx/msw/missing.h"
74af0b13 25#include "wx/sharedptr.h"
5cbda74b 26#include "wx/vector.h"
61b98a2d 27
f559d1a2
VZ
28/* Classes and definitions from urlmon.h vary in their
29 * completeness between compilers and versions of compilers.
30 * We implement our own versions here which should work
31 * for all compilers. The definitions are taken from the
32 * mingw-w64 headers which are public domain.
33 */
34
35#ifndef REFRESH_NORMAL
36#define REFRESH_NORMAL 0
37#endif
38
39#ifndef REFRESH_COMPLETELY
40#define REFRESH_COMPLETELY 3
41#endif
42
43typedef enum __wxMIDL_IBindStatusCallback_0006
44{
45 wxBSCF_FIRSTDATANOTIFICATION = 0x1,
46 wxBSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
47 wxBSCF_LASTDATANOTIFICATION = 0x4,
48 wxBSCF_DATAFULLYAVAILABLE = 0x8,
49 wxBSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
50} wxBSCF;
51
52EXTERN_C const IID CLSID_FileProtocol;
53
54typedef struct _tagwxBINDINFO
55{
56 ULONG cbSize;
57 LPWSTR szExtraInfo;
58 STGMEDIUM stgmedData;
59 DWORD grfBindInfoF;
60 DWORD dwBindVerb;
61 LPWSTR szCustomVerb;
62 DWORD cbstgmedData;
63 DWORD dwOptions;
64 DWORD dwOptionsFlags;
65 DWORD dwCodePage;
66 SECURITY_ATTRIBUTES securityAttributes;
67 IID iid;
68 IUnknown *pUnk;
69 DWORD dwReserved;
70} wxBINDINFO;
71
72typedef struct _tagwxPROTOCOLDATA
73{
74 DWORD grfFlags;
75 DWORD dwState;
76 LPVOID pData;
77 ULONG cbData;
78} wxPROTOCOLDATA;
79
80class wxIInternetBindInfo : public IUnknown
81{
82public:
83 virtual HRESULT wxSTDCALL GetBindInfo(DWORD *grfBINDF,wxBINDINFO *pbindinfo) = 0;
84 virtual HRESULT wxSTDCALL GetBindString(ULONG ulStringType,LPOLESTR *ppwzStr,
85 ULONG cEl,ULONG *pcElFetched) = 0;
86};
87
88class wxIInternetProtocolSink : public IUnknown
89{
90public:
91 virtual HRESULT wxSTDCALL Switch(wxPROTOCOLDATA *pProtocolData) = 0;
92 virtual HRESULT wxSTDCALL ReportProgress(ULONG ulStatusCode,
93 LPCWSTR szStatusText) = 0;
94 virtual HRESULT wxSTDCALL ReportData(DWORD grfBSCF,ULONG ulProgress,
95 ULONG ulProgressMax) = 0;
96 virtual HRESULT wxSTDCALL ReportResult(HRESULT hrResult,DWORD dwError,
97 LPCWSTR szResult) = 0;
98};
99
100class wxIInternetProtocolRoot : public IUnknown
101{
102public:
103 virtual HRESULT wxSTDCALL Start(LPCWSTR szUrl,wxIInternetProtocolSink *pOIProtSink,
104 wxIInternetBindInfo *pOIBindInfo,DWORD grfPI,
105 HANDLE_PTR dwReserved) = 0;
106 virtual HRESULT wxSTDCALL Continue(wxPROTOCOLDATA *pProtocolData) = 0;
107 virtual HRESULT wxSTDCALL Abort(HRESULT hrReason,DWORD dwOptions) = 0;
108 virtual HRESULT wxSTDCALL Terminate(DWORD dwOptions) = 0;
109 virtual HRESULT wxSTDCALL Suspend(void) = 0;
110 virtual HRESULT wxSTDCALL Resume(void) = 0;
111};
112
113
114class wxIInternetProtocol : public wxIInternetProtocolRoot
115{
116public:
117 virtual HRESULT wxSTDCALL Read(void *pv,ULONG cb,ULONG *pcbRead) = 0;
118 virtual HRESULT wxSTDCALL Seek(LARGE_INTEGER dlibMove,DWORD dwOrigin,
119 ULARGE_INTEGER *plibNewPosition) = 0;
120 virtual HRESULT wxSTDCALL LockRequest(DWORD dwOptions) = 0;
121 virtual HRESULT wxSTDCALL UnlockRequest(void) = 0;
122};
123
124
125class wxIInternetSession : public IUnknown
126{
127 public:
128 virtual HRESULT wxSTDCALL RegisterNameSpace(IClassFactory *pCF,REFCLSID rclsid,
129 LPCWSTR pwzProtocol,
130 ULONG cPatterns,
131 const LPCWSTR *ppwzPatterns,
132 DWORD dwReserved) = 0;
133 virtual HRESULT wxSTDCALL UnregisterNameSpace(IClassFactory *pCF,
134 LPCWSTR pszProtocol) = 0;
135 virtual HRESULT wxSTDCALL RegisterMimeFilter(IClassFactory *pCF,
136 REFCLSID rclsid,
137 LPCWSTR pwzType) = 0;
138 virtual HRESULT wxSTDCALL UnregisterMimeFilter(IClassFactory *pCF,
139 LPCWSTR pwzType) = 0;
140 virtual HRESULT wxSTDCALL CreateBinding(LPBC pBC,LPCWSTR szUrl,
141 IUnknown *pUnkOuter,IUnknown **ppUnk,
142 wxIInternetProtocol **ppOInetProt,
143 DWORD dwOption) = 0;
144 virtual HRESULT wxSTDCALL SetSessionOption(DWORD dwOption,LPVOID pBuffer,
145 DWORD dwBufferLength,
146 DWORD dwReserved) = 0;
147 virtual HRESULT wxSTDCALL GetSessionOption(DWORD dwOption,LPVOID pBuffer,
148 DWORD *pdwBufferLength,
149 DWORD dwReserved) = 0;
150};
151
152/* END OF URLMON.H implementation */
153
accc94d5
SL
154/* Same goes for the mshtmhst.h, these are also taken
155 * from mingw-w64 headers.
156 */
157
158typedef enum _tagwxDOCHOSTUIFLAG
159{
160 DOCHOSTUIFLAG_DIALOG = 0x1,
161 DOCHOSTUIFLAG_DISABLE_HELP_MENU = 0x2,
162 DOCHOSTUIFLAG_NO3DBORDER = 0x4,
163 DOCHOSTUIFLAG_SCROLL_NO = 0x8,
164 DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 0x10,
165 DOCHOSTUIFLAG_OPENNEWWIN = 0x20,
166 DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 0x40,
167 DOCHOSTUIFLAG_FLAT_SCROLLBAR = 0x80,
168 DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 0x100,
169 DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 0x200,
170 DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = 0x400,
171 DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = 0x800,
172 DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = 0x1000,
173 DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = 0x2000,
174 DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = 0x4000,
175 DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = 0x10000,
176 DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = 0x20000,
177 DOCHOSTUIFLAG_THEME = 0x40000,
178 DOCHOSTUIFLAG_NOTHEME = 0x80000,
179 DOCHOSTUIFLAG_NOPICS = 0x100000,
180 DOCHOSTUIFLAG_NO3DOUTERBORDER = 0x200000,
181 DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP = 0x400000,
182 DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = 0x800000,
183 DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL = 0x1000000
184} DOCHOSTUIFLAG;
185
186typedef struct _tagwxDOCHOSTUIINFO
187{
188 ULONG cbSize;
189 DWORD dwFlags;
190 DWORD dwDoubleClick;
191 OLECHAR *pchHostCss;
192 OLECHAR *pchHostNS;
193} DOCHOSTUIINFO;
194
195class wxIDocHostUIHandler : public IUnknown
196{
197public:
198 virtual HRESULT wxSTDCALL ShowContextMenu(DWORD dwID, POINT *ppt,
199 IUnknown *pcmdtReserved,
200 IDispatch *pdispReserved) = 0;
201
202 virtual HRESULT wxSTDCALL GetHostInfo(DOCHOSTUIINFO *pInfo) = 0;
203
34326da7 204 virtual HRESULT wxSTDCALL ShowUI(DWORD dwID,
accc94d5
SL
205 IOleInPlaceActiveObject *pActiveObject,
206 IOleCommandTarget *pCommandTarget,
207 IOleInPlaceFrame *pFrame,
208 IOleInPlaceUIWindow *pDoc) = 0;
209
210 virtual HRESULT wxSTDCALL HideUI(void) = 0;
211
212 virtual HRESULT wxSTDCALL UpdateUI(void) = 0;
34326da7 213
accc94d5
SL
214 virtual HRESULT wxSTDCALL EnableModeless(BOOL fEnable) = 0;
215
216 virtual HRESULT wxSTDCALL OnDocWindowActivate(BOOL fActivate) = 0;
217
218 virtual HRESULT wxSTDCALL OnFrameWindowActivate(BOOL fActivate) = 0;
219
220 virtual HRESULT wxSTDCALL ResizeBorder(LPCRECT prcBorder,
221 IOleInPlaceUIWindow *pUIWindow,
222 BOOL fRameWindow) = 0;
223
34326da7 224 virtual HRESULT wxSTDCALL TranslateAccelerator(LPMSG lpMsg,
accc94d5
SL
225 const GUID *pguidCmdGroup,
226 DWORD nCmdID) = 0;
227
34326da7 228 virtual HRESULT wxSTDCALL GetOptionKeyPath(LPOLESTR *pchKey,
accc94d5
SL
229 DWORD dw) = 0;
230
231 virtual HRESULT wxSTDCALL GetDropTarget(IDropTarget *pDropTarget,
232 IDropTarget **ppDropTarget) = 0;
233
234 virtual HRESULT wxSTDCALL GetExternal(IDispatch **ppDispatch) = 0;
235
236 virtual HRESULT wxSTDCALL TranslateUrl(DWORD dwTranslate,
6627ac2d
VZ
237 OLECHAR *pchURLIn,
238 OLECHAR **ppchURLOut) = 0;
accc94d5
SL
239
240 virtual HRESULT wxSTDCALL FilterDataObject(IDataObject *pDO,
241 IDataObject **ppDORet) = 0;
242};
243
244/* END OF MSHTMHST.H implementation */
245
22ca10fa 246struct IHTMLDocument2;
7d3f6b4d 247class wxFSFile;
39498710 248class ClassFactory;
accc94d5
SL
249class wxIEContainer;
250class DocHostUIHandler;
29365629 251
467d261e 252class WXDLLIMPEXP_WEBVIEW wxWebViewIE : public wxWebView
61b98a2d
SL
253{
254public:
255
256 wxWebViewIE() {}
257
258 wxWebViewIE(wxWindow* parent,
259 wxWindowID id,
260 const wxString& url = wxWebViewDefaultURLStr,
261 const wxPoint& pos = wxDefaultPosition,
262 const wxSize& size = wxDefaultSize,
263 long style = 0,
264 const wxString& name = wxWebViewNameStr)
265 {
266 Create(parent, id, url, pos, size, style, name);
267 }
268
39498710
SL
269 ~wxWebViewIE();
270
61b98a2d
SL
271 bool Create(wxWindow* parent,
272 wxWindowID id,
273 const wxString& url = wxWebViewDefaultURLStr,
274 const wxPoint& pos = wxDefaultPosition,
275 const wxSize& size = wxDefaultSize,
276 long style = 0,
277 const wxString& name = wxWebViewNameStr);
278
4d0dddc7 279 virtual void LoadURL(const wxString& url);
c13d6ac1
SL
280 virtual void LoadHistoryItem(wxSharedPtr<wxWebViewHistoryItem> item);
281 virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetBackwardHistory();
282 virtual wxVector<wxSharedPtr<wxWebViewHistoryItem> > GetForwardHistory();
61b98a2d 283
e669ddde
SL
284 virtual bool CanGoForward() const;
285 virtual bool CanGoBack() const;
61b98a2d
SL
286 virtual void GoBack();
287 virtual void GoForward();
74af0b13
SL
288 virtual void ClearHistory();
289 virtual void EnableHistory(bool enable = true);
61b98a2d 290 virtual void Stop();
a703012a 291 virtual void Reload(wxWebViewReloadFlags flags = wxWEB_VIEW_RELOAD_DEFAULT);
61b98a2d 292
e669ddde
SL
293 virtual wxString GetPageSource() const;
294 virtual wxString GetPageText() const;
61b98a2d 295
e669ddde
SL
296 virtual bool IsBusy() const;
297 virtual wxString GetCurrentURL() const;
298 virtual wxString GetCurrentTitle() const;
61b98a2d
SL
299
300 virtual void SetZoomType(wxWebViewZoomType);
301 virtual wxWebViewZoomType GetZoomType() const;
302 virtual bool CanSetZoomType(wxWebViewZoomType) const;
303
304 virtual void Print();
305
e669ddde 306 virtual wxWebViewZoom GetZoom() const;
61b98a2d
SL
307 virtual void SetZoom(wxWebViewZoom zoom);
308
4681a3ea 309 //Clipboard functions
e669ddde
SL
310 virtual bool CanCut() const;
311 virtual bool CanCopy() const;
312 virtual bool CanPaste() const;
4681a3ea
SL
313 virtual void Cut();
314 virtual void Copy();
315 virtual void Paste();
316
97e49559 317 //Undo / redo functionality
e669ddde
SL
318 virtual bool CanUndo() const;
319 virtual bool CanRedo() const;
97e49559
SL
320 virtual void Undo();
321 virtual void Redo();
322
c7cbe308
SL
323 //Editing functions
324 virtual void SetEditable(bool enable = true);
e669ddde 325 virtual bool IsEditable() const;
c7cbe308 326
63a65070
SL
327 //Selection
328 virtual void SelectAll();
e669ddde 329 virtual bool HasSelection() const;
63a65070 330 virtual void DeleteSelection();
e669ddde
SL
331 virtual wxString GetSelectedText() const;
332 virtual wxString GetSelectedSource() const;
41933aa5 333 virtual void ClearSelection();
63a65070 334
c9ccc09c 335 virtual void RunScript(const wxString& javascript);
63a65070 336
29365629 337 //Virtual Filesystem Support
7d8d6163 338 virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
29365629 339
b6a49c2b
VZ
340 virtual void* GetNativeBackend() const { return m_webBrowser; }
341
61b98a2d
SL
342 // ---- IE-specific methods
343
344 // FIXME: I seem to be able to access remote webpages even in offline mode...
345 bool IsOfflineMode();
346 void SetOfflineMode(bool offline);
347
e669ddde 348 wxWebViewZoom GetIETextZoom() const;
c5f417cb 349 void SetIETextZoom(wxWebViewZoom level);
61b98a2d 350
e669ddde 351 wxWebViewZoom GetIEOpticalZoom() const;
c5f417cb 352 void SetIEOpticalZoom(wxWebViewZoom level);
61b98a2d
SL
353
354 void onActiveXEvent(wxActiveXEvent& evt);
22ca10fa 355 void onEraseBg(wxEraseEvent&) {}
61b98a2d
SL
356
357 DECLARE_EVENT_TABLE();
358
a977376a
VZ
359protected:
360 virtual void DoSetPage(const wxString& html, const wxString& baseUrl);
361
61b98a2d 362private:
accc94d5 363 wxIEContainer* m_container;
61b98a2d
SL
364 wxAutomationObject m_ie;
365 IWebBrowser2* m_webBrowser;
366 DWORD m_dwCookie;
f40f8e17 367 wxCOMPtr<DocHostUIHandler> m_uiHandler;
61b98a2d 368
c5f417cb
SL
369 //We store the current zoom type;
370 wxWebViewZoomType m_zoomType;
371
61b98a2d
SL
372 /** The "Busy" property of IWebBrowser2 does not always return busy when
373 * we'd want it to; this variable may be set to true in cases where the
374 * Busy property is false but should be true.
375 */
376 bool m_isBusy;
60eabdbe 377 //We manage our own history, the history list contains the history items
3e7968c2
SL
378 //which are added as documentcomplete events arrive, unless we are loading
379 //an item from the history. The position is stored as an int, and reflects
380 //where we are in the history list.
c13d6ac1 381 wxVector<wxSharedPtr<wxWebViewHistoryItem> > m_historyList;
39498710 382 wxVector<ClassFactory*> m_factories;
74af0b13
SL
383 int m_historyPosition;
384 bool m_historyLoadingFromList;
385 bool m_historyEnabled;
386
4681a3ea 387 //Generic helper functions for IHtmlDocument commands
e669ddde 388 bool CanExecCommand(wxString command) const;
4681a3ea 389 void ExecCommand(wxString command);
f40f8e17 390 wxCOMPtr<IHTMLDocument2> GetDocument() const;
9447a0d6
SL
391 //Toggles control features see INTERNETFEATURELIST for values.
392 bool EnableControlFeature(long flag, bool enable = true);
4681a3ea 393
cddf4541 394 wxDECLARE_DYNAMIC_CLASS(wxWebViewIE);
61b98a2d
SL
395};
396
f559d1a2 397class VirtualProtocol : public wxIInternetProtocol
7d3f6b4d
SL
398{
399protected:
f559d1a2 400 wxIInternetProtocolSink* m_protocolSink;
7d3f6b4d
SL
401 wxString m_html;
402 VOID * fileP;
403
404 wxFSFile* m_file;
7d8d6163 405 wxSharedPtr<wxWebViewHandler> m_handler;
7d3f6b4d
SL
406
407public:
7d8d6163 408 VirtualProtocol(wxSharedPtr<wxWebViewHandler> handler);
6dd0883d 409 ~VirtualProtocol() {}
7d3f6b4d
SL
410
411 //IUnknown
9f194b9d 412 DECLARE_IUNKNOWN_METHODS;
7d3f6b4d
SL
413
414 //IInternetProtocolRoot
60eabdbe 415 HRESULT STDMETHODCALLTYPE Abort(HRESULT WXUNUSED(hrReason),
0995b9dc 416 DWORD WXUNUSED(dwOptions))
7d3f6b4d 417 { return E_NOTIMPL; }
f559d1a2 418 HRESULT STDMETHODCALLTYPE Continue(wxPROTOCOLDATA *WXUNUSED(pProtocolData))
7d3f6b4d
SL
419 { return S_OK; }
420 HRESULT STDMETHODCALLTYPE Resume() { return S_OK; }
60eabdbe 421 HRESULT STDMETHODCALLTYPE Start(LPCWSTR szUrl,
f559d1a2
VZ
422 wxIInternetProtocolSink *pOIProtSink,
423 wxIInternetBindInfo *pOIBindInfo,
60eabdbe 424 DWORD grfPI,
7d3f6b4d
SL
425 HANDLE_PTR dwReserved);
426 HRESULT STDMETHODCALLTYPE Suspend() { return S_OK; }
0995b9dc 427 HRESULT STDMETHODCALLTYPE Terminate(DWORD WXUNUSED(dwOptions)) { return S_OK; }
7d3f6b4d
SL
428
429 //IInternetProtocol
60eabdbe 430 HRESULT STDMETHODCALLTYPE LockRequest(DWORD WXUNUSED(dwOptions))
0995b9dc 431 { return S_OK; }
7d3f6b4d 432 HRESULT STDMETHODCALLTYPE Read(void *pv, ULONG cb, ULONG *pcbRead);
60eabdbe
VZ
433 HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER WXUNUSED(dlibMove),
434 DWORD WXUNUSED(dwOrigin),
435 ULARGE_INTEGER* WXUNUSED(plibNewPosition))
7d3f6b4d
SL
436 { return E_FAIL; }
437 HRESULT STDMETHODCALLTYPE UnlockRequest() { return S_OK; }
438};
439
440class ClassFactory : public IClassFactory
441{
7d3f6b4d 442public:
9f194b9d 443 ClassFactory(wxSharedPtr<wxWebViewHandler> handler) : m_handler(handler) {}
7d3f6b4d
SL
444
445 //IClassFactory
60eabdbe 446 HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown* pUnkOuter,
7d3f6b4d
SL
447 REFIID riid, void** ppvObject);
448 HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
9f194b9d
SL
449
450 //IUnknown
451 DECLARE_IUNKNOWN_METHODS;
452
29365629 453private:
7d8d6163 454 wxSharedPtr<wxWebViewHandler> m_handler;
7d3f6b4d
SL
455};
456
accc94d5
SL
457class wxIEContainer : public wxActiveXContainer
458{
459public:
460 wxIEContainer(wxWindow *parent, REFIID iid, IUnknown *pUnk, DocHostUIHandler* uiHandler = NULL);
461 virtual ~wxIEContainer();
462 virtual bool QueryClientSiteInterface(REFIID iid, void **_interface, const char *&desc);
463private:
464 DocHostUIHandler* m_uiHandler;
465};
466
467class DocHostUIHandler : public wxIDocHostUIHandler
468{
469public:
470 DocHostUIHandler() {};
471 ~DocHostUIHandler() {};
472 virtual HRESULT wxSTDCALL ShowContextMenu(DWORD dwID, POINT *ppt,
473 IUnknown *pcmdtReserved,
474 IDispatch *pdispReserved);
34326da7 475
accc94d5
SL
476 virtual HRESULT wxSTDCALL GetHostInfo(DOCHOSTUIINFO *pInfo);
477
478 virtual HRESULT wxSTDCALL ShowUI(DWORD dwID,
479 IOleInPlaceActiveObject *pActiveObject,
480 IOleCommandTarget *pCommandTarget,
481 IOleInPlaceFrame *pFrame,
482 IOleInPlaceUIWindow *pDoc);
483
484 virtual HRESULT wxSTDCALL HideUI(void);
485
486 virtual HRESULT wxSTDCALL UpdateUI(void);
487
488 virtual HRESULT wxSTDCALL EnableModeless(BOOL fEnable);
489
490 virtual HRESULT wxSTDCALL OnDocWindowActivate(BOOL fActivate);
491
492 virtual HRESULT wxSTDCALL OnFrameWindowActivate(BOOL fActivate);
493
494 virtual HRESULT wxSTDCALL ResizeBorder(LPCRECT prcBorder,
495 IOleInPlaceUIWindow *pUIWindow,
496 BOOL fRameWindow);
497
498 virtual HRESULT wxSTDCALL TranslateAccelerator(LPMSG lpMsg,
499 const GUID *pguidCmdGroup,
500 DWORD nCmdID);
501
34326da7 502 virtual HRESULT wxSTDCALL GetOptionKeyPath(LPOLESTR *pchKey,
accc94d5
SL
503 DWORD dw);
504
505 virtual HRESULT wxSTDCALL GetDropTarget(IDropTarget *pDropTarget,
506 IDropTarget **ppDropTarget);
507
508 virtual HRESULT wxSTDCALL GetExternal(IDispatch **ppDispatch);
509
510 virtual HRESULT wxSTDCALL TranslateUrl(DWORD dwTranslate,
96457e67
SL
511 OLECHAR *pchURLIn,
512 OLECHAR **ppchURLOut);
accc94d5
SL
513
514 virtual HRESULT wxSTDCALL FilterDataObject(IDataObject *pDO,
515 IDataObject **ppDORet);
516 //IUnknown
517 DECLARE_IUNKNOWN_METHODS;
518};
519
9d2f31db 520#endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE && defined(__WXMSW__)
61b98a2d
SL
521
522#endif // wxWebViewIE_H