]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/webkit.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / html / webkit.h
index cff0e53ebe5741ade36cba49d42fda5422885930..87003672b49cb52cda18eed7b6808abf8ae07e47 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Jethro Grassie / Kevin Ollivier
 // Modified by:
 // Created:     2004-4-16
-// RCS-ID:      $Id$
 // Copyright:   (c) Jethro Grassie / Kevin Ollivier
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #endif
 
 #include "wx/control.h"
+DECLARE_WXCOCOA_OBJC_CLASS(WebView); 
 
 // ----------------------------------------------------------------------------
 // Web Kit Control
 // ----------------------------------------------------------------------------
 
-class wxWebKitCtrl : public wxControl
+extern WXDLLIMPEXP_DATA_CORE(const char) wxWebKitCtrlNameStr[];
+
+class WXDLLIMPEXP_CORE wxWebKitCtrl : public wxControl
 {
 public:
     DECLARE_DYNAMIC_CLASS(wxWebKitCtrl)
 
-    wxWebKitCtrl() {};
+    wxWebKitCtrl() {}
     wxWebKitCtrl(wxWindow *parent,
                     wxWindowID winID,
                     const wxString& strURL,
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize, long style = 0,
                     const wxValidator& validator = wxDefaultValidator,
-                    const wxString& name = wxT("webkitctrl"))
+                    const wxString& name = wxWebKitCtrlNameStr)
     {
         Create(parent, winID, strURL, pos, size, style, validator, name);
-    };
+    }
     bool Create(wxWindow *parent,
                 wxWindowID winID,
                 const wxString& strURL,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize, long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxT("webkitctrl"));
+                const wxString& name = wxWebKitCtrlNameStr);
     virtual ~wxWebKitCtrl();
 
     void LoadURL(const wxString &url);
@@ -75,9 +77,9 @@ public:
     bool CanDecreaseTextSize();
     void DecreaseTextSize();
 
-    void Print(bool showPrompt=FALSE);
+    void Print(bool showPrompt = false);
 
-    void MakeEditable(bool enable=TRUE);
+    void MakeEditable(bool enable = true);
     bool IsEditable();
 
     wxString RunScript(const wxString& javascript);
@@ -85,6 +87,12 @@ public:
     void SetScrollPos(int pos);
     int GetScrollPos();
 
+    // don't hide base class virtuals
+    virtual void SetScrollPos( int orient, int pos, bool refresh = true )
+        { return wxControl::SetScrollPos(orient, pos, refresh); }
+    virtual int GetScrollPos( int orient ) const
+        { return wxControl::GetScrollPos(orient); }
+
     //we need to resize the webview when the control size changes
     void OnSize(wxSizeEvent &event);
     void OnMove(wxMoveEvent &event);
@@ -99,13 +107,11 @@ private:
     wxString m_currentURL;
     wxString m_pageTitle;
 
-    struct objc_object *m_webView;
+    WX_WebView m_webView;
 
     // we may use this later to setup our own mouse events,
     // so leave it in for now.
     void* m_webKitCtrlEventHandler;
-    //It should be WebView*, but WebView is an Objective-C class
-    //TODO: look into using DECLARE_WXCOCOA_OBJC_CLASS rather than this.
 };
 
 // ----------------------------------------------------------------------------
@@ -133,7 +139,7 @@ enum {
 
 
 
-class wxWebKitBeforeLoadEvent : public wxCommandEvent
+class WXDLLIMPEXP_CORE wxWebKitBeforeLoadEvent : public wxCommandEvent
 {
     DECLARE_DYNAMIC_CLASS( wxWebKitBeforeLoadEvent )
 
@@ -145,7 +151,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:
@@ -154,7 +160,7 @@ protected:
     int m_navType;
 };
 
-class wxWebKitStateChangedEvent : public wxCommandEvent
+class WXDLLIMPEXP_CORE wxWebKitStateChangedEvent : public wxCommandEvent
 {
     DECLARE_DYNAMIC_CLASS( wxWebKitStateChangedEvent )
 
@@ -164,7 +170,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:
@@ -173,9 +179,9 @@ protected:
 };
 
 
-class wxWebKitNewWindowEvent : public wxCommandEvent
+class WXDLLIMPEXP_CORE wxWebKitNewWindowEvent : public wxCommandEvent
 {
-    DECLARE_DYNAMIC_CLASS( wxWebViewNewWindowEvent )
+    DECLARE_DYNAMIC_CLASS( wxWebKitNewWindowEvent )
 public:
     wxString GetURL() const { return m_url; }
     void SetURL(const wxString& url) { m_url = url; }
@@ -194,33 +200,39 @@ typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateCha
 typedef void (wxEvtHandler::*wxWebKitBeforeLoadEventFunction)(wxWebKitBeforeLoadEvent&);
 typedef void (wxEvtHandler::*wxWebKitNewWindowEventFunction)(wxWebKitNewWindowEvent&);
 
-extern const wxEventType wxEVT_WEBKIT_BEFORE_LOAD;
-extern const wxEventType wxEVT_WEBKIT_STATE_CHANGED;
-extern const wxEventType wxEVT_WEBKIT_NEW_WINDOW;
+#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, \
+            wxDECLARE_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, \
+            wxDECLARE_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, \
+            wxDECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_NEW_WINDOW, \
                             wxID_ANY, \
                             wxID_ANY, \
-                            (wxObjectEventFunction)   \
-                            (wxWebKitNewWindowEventFunction) & func, \
-                            (wxObject *) NULL ),
+                            wxWebKitNewWindowEventHandler( func ), \
+                            NULL ),
 #endif // wxUSE_WEBKIT
 
 #endif