]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/webkit.h
Skeleton for generic Drag code
[wxWidgets.git] / include / wx / html / webkit.h
index 432082f09f6c33df9c9e9d10e5a95af6c85f964c..1fc3242fc2e4c9462f6b2954072d48dd8940cd45 100644 (file)
@@ -60,28 +60,28 @@ public:
     bool CanGetPageSource();
     wxString GetPageSource();
     void SetPageSource(const wxString& source, const wxString& baseUrl = wxEmptyString);
-       wxString GetPageURL(){ return m_currentURL; }
+    wxString GetPageURL(){ return m_currentURL; }
     void SetPageTitle(const wxString& title) { m_pageTitle = title; }
-       wxString GetPageTitle(){ return m_pageTitle; }
-    
+    wxString GetPageTitle(){ return m_pageTitle; }
+
     // since these worked in 2.6, add wrappers
     void SetTitle(const wxString& title) { SetPageTitle(title); }
     wxString GetTitle() { return GetPageTitle(); }
-    
+
     wxString GetSelection();
-    
+
     bool CanIncreaseTextSize();
     void IncreaseTextSize();
     bool CanDecreaseTextSize();
     void DecreaseTextSize();
-    
+
     void Print(bool showPrompt=FALSE);
-    
+
     void MakeEditable(bool enable=TRUE);
     bool IsEditable();
-    
+
     wxString RunScript(const wxString& javascript);
-    
+
     void SetScrollPos(int pos);
     int GetScrollPos();
 
@@ -98,9 +98,9 @@ private:
     wxWindowID m_windowID;
     wxString m_currentURL;
     wxString m_pageTitle;
-    
+
     struct objc_object *m_webView;
-    
+
     // we may use this later to setup our own mouse events,
     // so leave it in for now.
     void* m_webKitCtrlEventHandler;
@@ -136,7 +136,7 @@ enum {
 class wxWebKitBeforeLoadEvent : public wxCommandEvent
 {
     DECLARE_DYNAMIC_CLASS( wxWebKitBeforeLoadEvent )
-    
+
 public:
     bool IsCancelled() { return m_cancelled; }
     void Cancel(bool cancel = true) { m_cancelled = cancel; }
@@ -145,7 +145,7 @@ public:
     void SetNavigationType(int navType) { m_navType = navType; }
     int GetNavigationType() { return m_navType; }
 
-    wxWebKitBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL );
+    wxWebKitBeforeLoadEvent( wxWindow* win = NULL );
     wxEvent *Clone(void) const { return new wxWebKitBeforeLoadEvent(*this); }
 
 protected:
@@ -164,7 +164,7 @@ public:
     wxString GetURL() { return m_url; }
     void SetURL(const wxString& url) { m_url = url; }
 
-    wxWebKitStateChangedEvent( wxWindow* win = (wxWindow*) NULL );
+    wxWebKitStateChangedEvent( wxWindow* win = NULL );
     wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); }
 
 protected:
@@ -172,30 +172,61 @@ protected:
     wxString m_url;
 };
 
+
+class wxWebKitNewWindowEvent : public wxCommandEvent
+{
+    DECLARE_DYNAMIC_CLASS( wxWebViewNewWindowEvent )
+public:
+    wxString GetURL() const { return m_url; }
+    void SetURL(const wxString& url) { m_url = url; }
+    wxString GetTargetName() const { return m_targetName; }
+    void SetTargetName(const wxString& name) { m_targetName = name; }
+
+    wxWebKitNewWindowEvent( wxWindow* win = (wxWindow*)(NULL));
+    wxEvent *Clone(void) const { return new wxWebKitNewWindowEvent(*this); }
+
+private:
+    wxString m_url;
+    wxString m_targetName;
+};
+
 typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateChangedEvent&);
 typedef void (wxEvtHandler::*wxWebKitBeforeLoadEventFunction)(wxWebKitBeforeLoadEvent&);
+typedef void (wxEvtHandler::*wxWebKitNewWindowEventFunction)(wxWebKitNewWindowEvent&);
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_BEFORE_LOAD, wxID_ANY)
-    DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, wxID_ANY)
-END_DECLARE_EVENT_TYPES()
+#define wxWebKitStateChangedEventHandler( func ) \
+    wxEVENT_HANDLER_CAST( wxWebKitStateChangedEventFunction, func )
+
+#define wxWebKitBeforeLoadEventHandler( func ) \
+    wxEVENT_HANDLER_CAST( wxWebKitBeforeLoadEventFunction, func )
+
+#define wxWebKitNewWindowEventHandler( func ) \
+    wxEVENT_HANDLER_CAST( wxWebKitNewWindowEventFunction, func )
+
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_STATE_CHANGED, wxWebKitStateChangedEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_BEFORE_LOAD, wxWebKitBeforeLoadEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_WEBKIT_NEW_WINDOW, wxWebKitNewWindowEvent )
 
 #define EVT_WEBKIT_STATE_CHANGED(func) \
             DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \
                             wxID_ANY, \
                             wxID_ANY, \
-                            (wxObjectEventFunction)   \
-                            (wxWebKitStateChangedEventFunction) & func, \
-                            (wxObject *) NULL ),
-                            
+                            wxWebKitStateChangedEventHandler( func ), \
+                            NULL ),
+
 #define EVT_WEBKIT_BEFORE_LOAD(func) \
             DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_BEFORE_LOAD, \
                             wxID_ANY, \
                             wxID_ANY, \
-                            (wxObjectEventFunction)   \
-                            (wxWebKitBeforeLoadEventFunction) & func, \
-                            (wxObject *) NULL ),
+                            wxWebKitBeforeLoadEventHandler( func ), \
+                            NULL ),
 
+#define EVT_WEBKIT_NEW_WINDOW(func)                              \
+            DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_NEW_WINDOW, \
+                            wxID_ANY, \
+                            wxID_ANY, \
+                            wxWebKitNewWindowEventFunction( func ), \
+                            NULL ),
 #endif // wxUSE_WEBKIT
 
 #endif