]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/webview_ie.h
When handling accelerators in wxWebView make sure that we do not block right-alt...
[wxWidgets.git] / include / wx / msw / webview_ie.h
index ca6feb492419d4f011df1c0f4ff9e1fe926cecd3..0f613d1200721b1f557a22459fd6d513c0e2e204 100644 (file)
@@ -195,6 +195,20 @@ private:
     wxDECLARE_DYNAMIC_CLASS(wxWebViewIE);
 };
 
+class WXDLLIMPEXP_WEBVIEW wxWebViewFactoryIE : public wxWebViewFactory
+{
+public:
+    virtual wxWebView* Create() { return new wxWebViewIE; }
+    virtual wxWebView* Create(wxWindow* parent,
+                              wxWindowID id,
+                              const wxString& url = wxWebViewDefaultURLStr,
+                              const wxPoint& pos = wxDefaultPosition,
+                              const wxSize& size = wxDefaultSize,
+                              long style = 0,
+                              const wxString& name = wxWebViewNameStr)
+    { return new wxWebViewIE(parent, id, url, pos, size, style, name); }
+};
+
 class VirtualProtocol : public wxIInternetProtocol
 {
 protected:
@@ -241,7 +255,10 @@ public:
 class ClassFactory : public IClassFactory
 {
 public:
-    ClassFactory(wxSharedPtr<wxWebViewHandler> handler) : m_handler(handler) {}
+    ClassFactory(wxSharedPtr<wxWebViewHandler> handler) : m_handler(handler) 
+    { AddRef(); }
+
+    wxString GetName() { return m_handler->GetName(); }
 
     //IClassFactory
     HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown* pUnkOuter,
@@ -268,8 +285,9 @@ private:
 class DocHostUIHandler : public wxIDocHostUIHandler
 {
 public:
-    DocHostUIHandler() {};
+    DocHostUIHandler(wxWebView* browser) { m_browser = browser; }
     ~DocHostUIHandler() {};
+
     virtual HRESULT wxSTDCALL ShowContextMenu(DWORD dwID, POINT *ppt,
                                               IUnknown *pcmdtReserved,
                                               IDispatch *pdispReserved);
@@ -316,6 +334,9 @@ public:
                                                IDataObject **ppDORet);
     //IUnknown
     DECLARE_IUNKNOWN_METHODS;
+
+private:
+    wxWebView* m_browser;
 };
 
 class wxFindPointers