]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/webkit.i
GetBestFittingSize --> GetEffectiveMinSize
[wxWidgets.git] / wxPython / src / webkit.i
index de96d9fb4291f5ecfe625bad7626f3b1002de323..86e38e37ae8c4aa566f25067c96ec9b2fe488820 100644 (file)
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-%module webkit
+%define DOCSTRING
+"wx.webkit.WebKitCtrl for Mac OSX."
+%enddef
+
+%module(package="wx", docstring=DOCSTRING) webkit
 
 %{
 
@@ -34,8 +38,6 @@
 %pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
 
 
-%include _webkit_rename.i
-
 //---------------------------------------------------------------------------
 
 // Put some wx default wxChar* values into wxStrings.
@@ -82,28 +84,103 @@ public:
     bool CanGetPageSource() { return false; }
     wxString GetPageSource() { return wxEmptyString; }
     void SetPageSource(wxString& source, const wxString& baseUrl = wxEmptyString) {}
+    wxString GetPageURL()   { return wxEmptyString; }
+    wxString GetPageTitle() { return wxEmptyString; }
+    
+    wxString GetSelection() { return wxEmptyString; }
+    
+    bool CanIncreaseTextSize() { return false; }
+    void IncreaseTextSize() { }
+    bool CanDecreaseTextSize() { return false; }
+    void DecreaseTextSize() { }
+    
+    void Print(bool showPrompt=false) { }
+    
+    void MakeEditable(bool enable=true) { }
+    bool IsEditable() { return false; }
+    
+    wxString RunScript(const wxString& javascript) { return wxEmptyString; }
+    
+    void SetScrollPos(int pos) { }
+    int GetScrollPos() { return 0; }
+    
+};
+
+
+enum {
+    wxWEBKIT_STATE_START = 0,
+    wxWEBKIT_STATE_NEGOTIATING = 0,
+    wxWEBKIT_STATE_REDIRECTING = 0,
+    wxWEBKIT_STATE_TRANSFERRING = 0,
+    wxWEBKIT_STATE_STOP = 0,
+    wxWEBKIT_STATE_FAILED = 0,
+
+    wxEVT_WEBKIT_STATE_CHANGED = 0,
+    wxEVT_WEBKIT_BEFORE_LOAD = 0
+};
+
+enum {
+    wxWEBKIT_NAV_LINK_CLICKED = 0,
+    wxWEBKIT_NAV_BACK_NEXT = 0,
+    wxWEBKIT_NAV_FORM_SUBMITTED = 0,
+    wxWEBKIT_NAV_RELOAD = 0,
+    wxWEBKIT_NAV_FORM_RESUBMITTED = 0,
+    wxWEBKIT_NAV_OTHER = 0
+
+};
+
+class wxWebKitStateChangedEvent : public wxCommandEvent
+{
+public:
+    wxWebKitStateChangedEvent( wxWindow* win =  NULL )
+    { wxPyRaiseNotImplemented(); }
+
+    int GetState() { return 0; }
+    void SetState(const int state) {}
+    wxString GetURL() { return wxEmptyString; }
+    void SetURL(const wxString& url) {}
+};
+
+class wxWebKitBeforeLoadEvent : public wxCommandEvent
+{    
+public:
+    bool IsCancelled() { return false; }
+    void Cancel(bool cancel = true) { }
+    wxString GetURL() { return wxEmptyString; }
+    void SetURL(const wxString& url) { }
+    void SetNavigationType(int navType) { }
+    int GetNavigationType() { return 0; }
+
+    wxWebKitBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL ) { wxPyRaiseNotImplemented(); }
 };
 #endif
 %}
 
-// Now define it for SWIG.
+// Now define it for SWIG, using either the real class or the dummy above.
+
+MustHaveApp(wxWebKitCtrl);
+
 class wxWebKitCtrl : public wxControl
 {
 public:
+    %pythonAppend wxWebKitCtrl         "self._setOORInfo(self)"
+    %pythonAppend wxWebKitCtrl()       ""
+    
     wxWebKitCtrl(wxWindow *parent,
-                    wxWindowID winID,
-                    const wxString& strURL,
+                    wxWindowID winID = -1,
+                    const wxString& strURL = wxPyEmptyString,
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize, long style = 0,
                     const wxValidator& validator = wxDefaultValidator,
                     const wxString& name = wxPyWebKitNameStr);
 
-    %name(PreWebKitCtrl)wxWebKitCtrl();
+    %RenameCtor(PreWebKitCtrl, wxWebKitCtrl());
 
     
     bool Create(wxWindow *parent,
-                wxWindowID winID,
-                const wxString& strURL,
+                wxWindowID winID = -1,
+                const wxString& strURL = wxPyEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize, long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
@@ -120,9 +197,102 @@ public:
     bool CanGetPageSource();
     wxString GetPageSource();
     void SetPageSource(wxString& source, const wxString& baseUrl = wxPyEmptyString);
+    wxString GetPageURL();
+    wxString 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();
+    
+    
+    %property(PageSource, GetPageSource, SetPageSource, doc="See `GetPageSource` and `SetPageSource`");
+    %property(PageTitle, GetPageTitle, doc="See `GetPageTitle`");
+    %property(PageURL, GetPageURL, doc="See `GetPageURL`");    
+    %property(ScrollPos, GetScrollPos, SetScrollPos, doc="See `GetScrollPos and SetScrollPos`");
+    %property(Selection, GetSelection, doc="See `GetSelection`");
+};
+
+
+//---------------------------------------------------------------------------
+
+
+enum {
+    wxWEBKIT_STATE_START,
+    wxWEBKIT_STATE_NEGOTIATING,
+    wxWEBKIT_STATE_REDIRECTING,
+    wxWEBKIT_STATE_TRANSFERRING,
+    wxWEBKIT_STATE_STOP,
+    wxWEBKIT_STATE_FAILED,
+};
+
+enum {
+    wxWEBKIT_NAV_LINK_CLICKED,
+    wxWEBKIT_NAV_BACK_NEXT,
+    wxWEBKIT_NAV_FORM_SUBMITTED,
+    wxWEBKIT_NAV_RELOAD,
+    wxWEBKIT_NAV_FORM_RESUBMITTED,
+    wxWEBKIT_NAV_OTHER
+
+};
+
+%constant wxEventType wxEVT_WEBKIT_STATE_CHANGED;
+%constant wxEventType wxEVT_WEBKIT_BEFORE_LOAD;
+
+class wxWebKitBeforeLoadEvent : public wxCommandEvent
+{    
+public:
+    bool IsCancelled();
+    void Cancel(bool cancel = true);
+    wxString GetURL();
+    void SetURL(const wxString& url);
+    void SetNavigationType(int navType);
+    int GetNavigationType();
+
+    wxWebKitBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL );
+
+    %property(NavigationType, GetNavigationType, SetNavigationType, doc="See `GetNavigationType` and `SetNavigationType`");
+    %property(URL, GetURL, SetURL, doc="See `GetURL` and `SetURL`");
 };
 
 
+class wxWebKitStateChangedEvent : public wxCommandEvent
+{
+public:
+    wxWebKitStateChangedEvent( wxWindow* win =  NULL );
+
+    int GetState();
+    void SetState(const int state);
+    wxString GetURL();
+    void SetURL(const wxString& url);
+
+    %property(State, GetState, SetState, doc="See `GetState` and `SetState`");
+    %property(URL, GetURL, SetURL, doc="See `GetURL` and `SetURL`");
+};
+
+
+%pythoncode %{
+    EVT_WEBKIT_STATE_CHANGED = wx.PyEventBinder(wxEVT_WEBKIT_STATE_CHANGED)
+    EVT_WEBKIT_BEFORE_LOAD = wx.PyEventBinder(wxEVT_WEBKIT_BEFORE_LOAD)
+%}
+
+
+//---------------------------------------------------------------------------
+
 %init %{
 
 %}
+
+//---------------------------------------------------------------------------