]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/webkit.h
GCC 4.0 (Apple 4059) is a little bit pickier than 3.3.
[wxWidgets.git] / include / wx / html / webkit.h
index 7059855c208cc7a763dc0e1a474df35ea58c23d1..40f72b6d28960305846a92622318b5336b32cf61 100755 (executable)
@@ -6,16 +6,18 @@
 // Created:     2004-4-16
 // RCS-ID:      $Id$
 // Copyright:   (c) Jethro Grassie / Kevin Ollivier
 // Created:     2004-4-16
 // RCS-ID:      $Id$
 // Copyright:   (c) Jethro Grassie / Kevin Ollivier
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_WEBKIT_H
 #define _WX_WEBKIT_H
 
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_WEBKIT_H
 #define _WX_WEBKIT_H
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "webkit.h"
 #endif
 
 #pragma interface "webkit.h"
 #endif
 
+#if wxUSE_WEBKIT
+
 #if !defined(__WXMAC__) && !defined(__WXCOCOA__)
 #error "wxWebKitCtrl not implemented for this platform"
 #endif
 #if !defined(__WXMAC__) && !defined(__WXCOCOA__)
 #error "wxWebKitCtrl not implemented for this platform"
 #endif
 class wxWebKitCtrl : public wxControl
 {
 public:
 class wxWebKitCtrl : public wxControl
 {
 public:
-       DECLARE_DYNAMIC_CLASS(wxWebKitCtrl)
+    DECLARE_DYNAMIC_CLASS(wxWebKitCtrl)
 
 
-       wxWebKitCtrl() {};
+    wxWebKitCtrl() {};
     wxWebKitCtrl(wxWindow *parent,
     wxWebKitCtrl(wxWindow *parent,
-                       wxWindowID winID,
+                    wxWindowID winID,
                     const wxString& strURL,
                     const wxPoint& pos = wxDefaultPosition,
                     const wxString& strURL,
                     const wxPoint& pos = wxDefaultPosition,
-                               const wxSize& size = wxDefaultSize, long style = 0,
-                               const wxValidator& validator = wxDefaultValidator,
-                               const wxString& name = wxString("default_webkit_name"))
+                    const wxSize& size = wxDefaultSize, long style = 0,
+                    const wxValidator& validator = wxDefaultValidator,
+                    const wxString& name = wxT("webkitctrl"))
     {
         Create(parent, winID, strURL, pos, size, style, validator, name);
     };
     {
         Create(parent, winID, strURL, pos, size, style, validator, name);
     };
-       bool Create(wxWindow *parent,
+    bool Create(wxWindow *parent,
                 wxWindowID winID,
                 const wxString& strURL,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize, long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
                 wxWindowID winID,
                 const wxString& strURL,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize, long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxString("default_webkit_name"));
-       virtual ~wxWebKitCtrl();
-       
+                const wxString& name = wxT("webkitctrl"));
+    virtual ~wxWebKitCtrl();
+
     void LoadURL(const wxString &url);
     void LoadURL(const wxString &url);
-    
+
     bool CanGoBack();
     bool CanGoForward();
     bool GoBack();
     bool GoForward();
     bool CanGoBack();
     bool CanGoForward();
     bool GoBack();
     bool GoForward();
-    void Reload(); 
+    void Reload();
     void Stop();
     bool CanGetPageSource();
     wxString GetPageSource();
     void Stop();
     bool CanGetPageSource();
     wxString GetPageSource();
-    void SetPageSource(wxString& source, const wxString& baseUrl = wxString(""));
-    
+    void SetPageSource(wxString& source, const wxString& baseUrl = wxEmptyString);
+
     //we need to resize the webview when the control size changes
     //we need to resize the webview when the control size changes
-    //void OnSize(wxSizeEvent &event);
+    void OnSize(wxSizeEvent &event);
 protected:
 protected:
-       DECLARE_EVENT_TABLE()
+    DECLARE_EVENT_TABLE()
+    void MacVisibilityChanged();
 
 private:
     wxWindow *m_parent;
     wxWindowID m_windowID;
     wxString m_currentURL;
     wxString m_pageTitle;
 
 private:
     wxWindow *m_parent;
     wxWindowID m_windowID;
     wxString m_currentURL;
     wxString m_pageTitle;
-    void* m_webView;
-    //It should be WebView, but WebView is Cocoa only, so any class which included
-    //this header would have to link to Cocoa, so for now use void* instead.
+    struct objc_object *m_webView;
+    //It should be WebView*, but WebView is an Objective-C class
+    //TODO: look into using DECLARE_WXCOCOA_OBJC_CLASS rather than this.
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -86,11 +89,11 @@ private:
 // ----------------------------------------------------------------------------
 
 enum {
 // ----------------------------------------------------------------------------
 
 enum {
-       wxWEBKIT_STATE_START = 1,
-       wxWEBKIT_STATE_NEGOTIATING = 2,
-       wxWEBKIT_STATE_REDIRECTING = 4,
-       wxWEBKIT_STATE_TRANSFERRING = 8,
-       wxWEBKIT_STATE_STOP = 16,
+    wxWEBKIT_STATE_START = 1,
+    wxWEBKIT_STATE_NEGOTIATING = 2,
+    wxWEBKIT_STATE_REDIRECTING = 4,
+    wxWEBKIT_STATE_TRANSFERRING = 8,
+    wxWEBKIT_STATE_STOP = 16,
         wxWEBKIT_STATE_FAILED = 32
 };
 
         wxWEBKIT_STATE_FAILED = 32
 };
 
@@ -99,31 +102,33 @@ class wxWebKitStateChangedEvent : public wxCommandEvent
     DECLARE_DYNAMIC_CLASS( wxWebKitStateChangedEvent )
 
 public:
     DECLARE_DYNAMIC_CLASS( wxWebKitStateChangedEvent )
 
 public:
-       int GetState() { return m_state; }
-       void SetState(const int state) { m_state = state; }
-       wxString GetURL() { return m_url; }
-       void SetURL(const wxString& url) { m_url = url; }
+    int GetState() { return m_state; }
+    void SetState(const int state) { m_state = state; }
+    wxString GetURL() { return m_url; }
+    void SetURL(const wxString& url) { m_url = url; }
 
     wxWebKitStateChangedEvent( wxWindow* win = (wxWindow*) NULL );
 
     wxWebKitStateChangedEvent( wxWindow* win = (wxWindow*) NULL );
-       wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); }
+    wxEvent *Clone(void) const { return new wxWebKitStateChangedEvent(*this); }
 
 protected:
 
 protected:
-       int m_state;
-       wxString m_url;
+    int m_state;
+    wxString m_url;
 };
 
 typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateChangedEvent&);
 
 BEGIN_DECLARE_EVENT_TYPES()
 };
 
 typedef void (wxEvtHandler::*wxWebKitStateChangedEventFunction)(wxWebKitStateChangedEvent&);
 
 BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, -1)
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_WEBKIT_STATE_CHANGED, wxID_ANY)
 END_DECLARE_EVENT_TYPES()
 
 #define EVT_WEBKIT_STATE_CHANGED(func) \
             DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \
 END_DECLARE_EVENT_TYPES()
 
 #define EVT_WEBKIT_STATE_CHANGED(func) \
             DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBKIT_STATE_CHANGED, \
-                            -1,                       \
-                            -1,                       \
+                            wxID_ANY, \
+                            wxID_ANY, \
                             (wxObjectEventFunction)   \
                             (wxWebKitStateChangedEventFunction) & func, \
                             (wxObject *) NULL ),
 
                             (wxObjectEventFunction)   \
                             (wxWebKitStateChangedEventFunction) & func, \
                             (wxObject *) NULL ),
 
+#endif // wxUSE_WEBKIT
+
 #endif // _WX_WEBKIT_H_
 #endif // _WX_WEBKIT_H_