X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/accc94d55c4cd8cbf9351bd4886c25896d8d981e..de3d7096fe1fa3b9240e344665d3c77d76955a83:/include/wx/msw/webview_ie.h diff --git a/include/wx/msw/webview_ie.h b/include/wx/msw/webview_ie.h index 3d91636d27..99b41af174 100644 --- a/include/wx/msw/webview_ie.h +++ b/include/wx/msw/webview_ie.h @@ -19,6 +19,7 @@ #include "wx/msw/ole/automtn.h" #include "wx/msw/ole/activex.h" #include "wx/msw/ole/oleutils.h" +#include "wx/msw/private/comptr.h" #include "wx/msw/wrapwin.h" #include "wx/msw/missing.h" #include "wx/sharedptr.h" @@ -200,7 +201,7 @@ public: virtual HRESULT wxSTDCALL GetHostInfo(DOCHOSTUIINFO *pInfo) = 0; - virtual HRESULT wxSTDCALL ShowUI(DWORD dwID, + virtual HRESULT wxSTDCALL ShowUI(DWORD dwID, IOleInPlaceActiveObject *pActiveObject, IOleCommandTarget *pCommandTarget, IOleInPlaceFrame *pFrame, @@ -209,7 +210,7 @@ public: virtual HRESULT wxSTDCALL HideUI(void) = 0; virtual HRESULT wxSTDCALL UpdateUI(void) = 0; - + virtual HRESULT wxSTDCALL EnableModeless(BOOL fEnable) = 0; virtual HRESULT wxSTDCALL OnDocWindowActivate(BOOL fActivate) = 0; @@ -220,11 +221,11 @@ public: IOleInPlaceUIWindow *pUIWindow, BOOL fRameWindow) = 0; - virtual HRESULT wxSTDCALL TranslateAccelerator(LPMSG lpMsg, + virtual HRESULT wxSTDCALL TranslateAccelerator(LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID) = 0; - virtual HRESULT wxSTDCALL GetOptionKeyPath(__out LPOLESTR *pchKey, + virtual HRESULT wxSTDCALL GetOptionKeyPath(LPOLESTR *pchKey, DWORD dw) = 0; virtual HRESULT wxSTDCALL GetDropTarget(IDropTarget *pDropTarget, @@ -233,8 +234,8 @@ public: virtual HRESULT wxSTDCALL GetExternal(IDispatch **ppDispatch) = 0; virtual HRESULT wxSTDCALL TranslateUrl(DWORD dwTranslate, - __in __nullterminated OLECHAR *pchURLIn, - __out OLECHAR **ppchURLOut) = 0; + OLECHAR *pchURLIn, + OLECHAR **ppchURLOut) = 0; virtual HRESULT wxSTDCALL FilterDataObject(IDataObject *pDO, IDataObject **ppDORet) = 0; @@ -302,8 +303,6 @@ public: virtual void Print(); - virtual void SetPage(const wxString& html, const wxString& baseUrl); - virtual wxWebViewZoom GetZoom() const; virtual void SetZoom(wxWebViewZoom zoom); @@ -338,6 +337,8 @@ public: //Virtual Filesystem Support virtual void RegisterHandler(wxSharedPtr handler); + virtual void* GetNativeBackend() const { return m_webBrowser; } + // ---- IE-specific methods // FIXME: I seem to be able to access remote webpages even in offline mode... @@ -355,12 +356,15 @@ public: DECLARE_EVENT_TABLE(); +protected: + virtual void DoSetPage(const wxString& html, const wxString& baseUrl); + private: wxIEContainer* m_container; wxAutomationObject m_ie; IWebBrowser2* m_webBrowser; DWORD m_dwCookie; - DocHostUIHandler* m_uiHandler; + wxCOMPtr m_uiHandler; //We store the current zoom type; wxWebViewZoomType m_zoomType; @@ -383,7 +387,9 @@ private: //Generic helper functions for IHtmlDocument commands bool CanExecCommand(wxString command) const; void ExecCommand(wxString command); - IHTMLDocument2* GetDocument() const; + wxCOMPtr GetDocument() const; + //Toggles control features see INTERNETFEATURELIST for values. + bool EnableControlFeature(long flag, bool enable = true); wxDECLARE_DYNAMIC_CLASS(wxWebViewIE); }; @@ -466,7 +472,7 @@ public: virtual HRESULT wxSTDCALL ShowContextMenu(DWORD dwID, POINT *ppt, IUnknown *pcmdtReserved, IDispatch *pdispReserved); - + virtual HRESULT wxSTDCALL GetHostInfo(DOCHOSTUIINFO *pInfo); virtual HRESULT wxSTDCALL ShowUI(DWORD dwID, @@ -493,7 +499,7 @@ public: const GUID *pguidCmdGroup, DWORD nCmdID); - virtual HRESULT wxSTDCALL GetOptionKeyPath(__out LPOLESTR *pchKey, + virtual HRESULT wxSTDCALL GetOptionKeyPath(LPOLESTR *pchKey, DWORD dw); virtual HRESULT wxSTDCALL GetDropTarget(IDropTarget *pDropTarget, @@ -502,8 +508,8 @@ public: virtual HRESULT wxSTDCALL GetExternal(IDispatch **ppDispatch); virtual HRESULT wxSTDCALL TranslateUrl(DWORD dwTranslate, - __in __nullterminated OLECHAR *pchURLIn, - __out OLECHAR **ppchURLOut); + OLECHAR *pchURLIn, + OLECHAR **ppchURLOut); virtual HRESULT wxSTDCALL FilterDataObject(IDataObject *pDO, IDataObject **ppDORet);