]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/webview.h
Avoid CRT deprecation warnings for MSVC build using makefiles too.
[wxWidgets.git] / include / wx / webview.h
index e58cf881f9f07257f9b6cb737ec8b2a771a7841d..455ee64054d239f6aa443324e5072b06212f881f 100644 (file)
@@ -10,9 +10,9 @@
 #ifndef _WX_WEB_VIEW_H_
 #define _WX_WEB_VIEW_H_
 
-#include "wx/setup.h"
+#include "wx/defs.h"
 
-#if wxUSE_WEB
+#if wxUSE_WEBVIEW
 
 #include "wx/control.h"
 #include "wx/event.h"
 #include "wx/sharedptr.h"
 #include "wx/vector.h"
 
-#include "wx/osx/webviewhistoryitem_webkit.h"
-#include "wx/gtk/webviewhistoryitem_webkit.h"
-#include "wx/msw/webviewhistoryitem_ie.h"
+#if defined(__WXOSX__)
+    #include "wx/osx/webviewhistoryitem_webkit.h"
+#elif defined(__WXGTK__)
+    #include "wx/gtk/webviewhistoryitem_webkit.h"
+#elif defined(__WXMSW__)
+    #include "wx/msw/webviewhistoryitem_ie.h"
+#else
+    #error "wxWebView not implemented on this platform."
+#endif
 
 class wxFSFile;
 class wxFileSystem;
@@ -70,30 +76,32 @@ enum wxWebViewBackend
 };
 
 //Base class for custom scheme handlers
-class WXDLLIMPEXP_WEB wxWebViewHandler
+class WXDLLIMPEXP_WEBVIEW wxWebViewHandler
 {
 public:
     wxWebViewHandler(const wxString& scheme) : m_scheme(scheme) {}
+    virtual ~wxWebViewHandler() {}
     virtual wxString GetName() const { return m_scheme; }
     virtual wxFSFile* GetFile(const wxString &uri) = 0;
 private:
     wxString m_scheme;
 };
 
-extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewNameStr[];
-extern WXDLLIMPEXP_DATA_WEB(const char) wxWebViewDefaultURLStr[];
+extern WXDLLIMPEXP_DATA_WEBVIEW(const char) wxWebViewNameStr[];
+extern WXDLLIMPEXP_DATA_WEBVIEW(const char) wxWebViewDefaultURLStr[];
 
-class WXDLLIMPEXP_WEB wxWebView : public wxControl
+class WXDLLIMPEXP_WEBVIEW wxWebView : public wxControl
 {
 public:
+    virtual ~wxWebView() {}
 
     virtual bool Create(wxWindow* parent,
            wxWindowID id,
-           const wxString& url,
-           const wxPoint& pos,
-           const wxSize& size,
-           long style,
-           const wxString& name) = 0;
+           const wxString& url = wxWebViewDefaultURLStr,
+           const wxPoint& pos = wxDefaultPosition,
+           const wxSize& size = wxDefaultSize,
+           long style = 0,
+           const wxString& name = wxWebViewNameStr) = 0;
 
     static wxWebView* New(wxWebViewBackend backend = wxWEB_VIEW_BACKEND_DEFAULT);
     static wxWebView* New(wxWindow* parent,
@@ -171,46 +179,33 @@ public:
     wxDECLARE_ABSTRACT_CLASS(wxWebView);
 };
 
-class WXDLLIMPEXP_WEB wxWebViewEvent : public wxCommandEvent
+class WXDLLIMPEXP_WEBVIEW wxWebViewEvent : public wxNotifyEvent
 {
 public:
     wxWebViewEvent() {}
     wxWebViewEvent(wxEventType type, int id, const wxString url,
-                   const wxString target, bool canVeto)
-        : wxCommandEvent(type, id)
-    {
-        m_url = url;
-        m_target = target;
-        m_vetoed = false;
-        m_canVeto = canVeto;
-    }
+                   const wxString target)
+        : wxNotifyEvent(type, id), m_url(url), m_target(target)
+    {}
 
 
     const wxString& GetURL() const { return m_url; }
     const wxString& GetTarget() const { return m_target; }
 
     virtual wxEvent* Clone() const { return new wxWebViewEvent(*this); }
-
-    bool CanVeto() const { return m_canVeto; }
-    bool IsVetoed() const { return m_vetoed; }
-
-    void Veto() { wxASSERT(m_canVeto); m_vetoed = true; }
-
 private:
     wxString m_url;
     wxString m_target;
-    bool m_canVeto;
-    bool m_vetoed;
 
     wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxWebViewEvent);
 };
 
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_NAVIGATING, wxWebViewEvent );
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_NAVIGATED, wxWebViewEvent );
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_LOADED, wxWebViewEvent );
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_ERROR, wxWebViewEvent );
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_NEWWINDOW, wxWebViewEvent );
-wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEB, wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_NAVIGATING, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_NAVIGATED, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_LOADED, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_ERROR, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_NEWWINDOW, wxWebViewEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_WEBVIEW, wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED, wxWebViewEvent );
 
 typedef void (wxEvtHandler::*wxWebViewEventFunction)
              (wxWebViewEvent&);
@@ -230,7 +225,7 @@ typedef void (wxEvtHandler::*wxWebViewEventFunction)
     wx__DECLARE_EVT1(wxEVT_COMMAND_WEB_VIEW_LOADED, id, \
                      wxWebViewEventHandler(fn))
 
-#define EVT_WEB_VIEW_ERRROR(id, fn) \
+#define EVT_WEB_VIEW_ERROR(id, fn) \
     wx__DECLARE_EVT1(wxEVT_COMMAND_WEB_VIEW_ERROR, id, \
                      wxWebViewEventHandler(fn))
 
@@ -242,6 +237,6 @@ typedef void (wxEvtHandler::*wxWebViewEventFunction)
     wx__DECLARE_EVT1(wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED, id, \
                      wxWebViewEventHandler(fn))
 
-#endif // wxUSE_WEB
+#endif // wxUSE_WEBVIEW
 
 #endif // _WX_WEB_VIEW_H_