]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/src/webkit.i
Version
[wxWidgets.git] / wxPython / src / webkit.i
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: webkit.i
3// Purpose: Embedding Apple's WebKit in wxWidgets
4//
5// Author: Robin Dunn / Kevin Ollivier
6//
7// Created: 18-Oct-2004
8// RCS-ID: $Id$
9// Copyright: (c) 2004 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13%define DOCSTRING
14"wx.webkit.WebKitCtrl for Mac OSX."
15%enddef
16
17%module(package="wx", docstring=DOCSTRING) webkit
18
19%{
20
21#include "wx/wxPython/wxPython.h"
22#include "wx/wxPython/pyclasses.h"
23#include "wx/wxPython/pyistream.h"
24
25#ifdef __WXMAC__ // avoid a bug in Carbon headers
26#define scalb scalbn
27#endif
28
29#if wxUSE_WEBKIT
30#include "wx/html/webkit.h"
31#endif
32%}
33
34//---------------------------------------------------------------------------
35
36%import core.i
37%pythoncode { wx = _core }
38%pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
39
40
41%include _webkit_rename.i
42
43//---------------------------------------------------------------------------
44
45// Put some wx default wxChar* values into wxStrings.
46MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
47MAKE_CONST_WXSTRING2(WebKitNameStr, wxT("webkitctrl"))
48
49
50
51
52%{
53#if !wxUSE_WEBKIT
54// a dummy class for ports that don't have wxWebKitCtrl
55class wxWebKitCtrl : public wxControl
56{
57public:
58 wxWebKitCtrl(wxWindow *parent,
59 wxWindowID winID,
60 const wxString& strURL,
61 const wxPoint& pos = wxDefaultPosition,
62 const wxSize& size = wxDefaultSize, long style = 0,
63 const wxValidator& validator = wxDefaultValidator,
64 const wxString& name = wxPyWebKitNameStr)
65 { wxPyRaiseNotImplemented(); }
66
67 wxWebKitCtrl() { wxPyRaiseNotImplemented(); }
68
69 bool Create(wxWindow *parent,
70 wxWindowID winID,
71 const wxString& strURL,
72 const wxPoint& pos = wxDefaultPosition,
73 const wxSize& size = wxDefaultSize, long style = 0,
74 const wxValidator& validator = wxDefaultValidator,
75 const wxString& name = wxPyWebKitNameStr)
76 { return false; }
77
78 void LoadURL(const wxString &url) {}
79
80 bool CanGoBack() { return false; }
81 bool CanGoForward() { return false; }
82 bool GoBack() { return false; }
83 bool GoForward() { return false; }
84 void Reload() {}
85 void Stop() {}
86 bool CanGetPageSource() { return false; }
87 wxString GetPageSource() { return wxEmptyString; }
88 void SetPageSource(wxString& source, const wxString& baseUrl = wxEmptyString) {}
89};
90
91
92enum {
93 wxWEBKIT_STATE_START = 0,
94 wxWEBKIT_STATE_NEGOTIATING = 0,
95 wxWEBKIT_STATE_REDIRECTING = 0,
96 wxWEBKIT_STATE_TRANSFERRING = 0,
97 wxWEBKIT_STATE_STOP = 0,
98 wxWEBKIT_STATE_FAILED = 0,
99
100 wxEVT_WEBKIT_STATE_CHANGED = 0
101};
102
103class wxWebKitStateChangedEvent : public wxCommandEvent
104{
105public:
106 wxWebKitStateChangedEvent( wxWindow* win = NULL )
107 { wxPyRaiseNotImplemented(); }
108
109 int GetState() { return 0; }
110 void SetState(const int state) {}
111 wxString GetURL() { return wxEmptyString; }
112 void SetURL(const wxString& url) {}
113};
114
115
116#endif
117%}
118
119// Now define it for SWIG, using either the real class or the dummy above.
120
121MustHaveApp(wxWebKitCtrl);
122
123class wxWebKitCtrl : public wxControl
124{
125public:
126 %pythonAppend wxWebKitCtrl "self._setOORInfo(self)"
127 %pythonAppend wxWebKitCtrl() ""
128
129 wxWebKitCtrl(wxWindow *parent,
130 wxWindowID winID = -1,
131 const wxString& strURL = wxPyEmptyString,
132 const wxPoint& pos = wxDefaultPosition,
133 const wxSize& size = wxDefaultSize, long style = 0,
134 const wxValidator& validator = wxDefaultValidator,
135 const wxString& name = wxPyWebKitNameStr);
136
137 %RenameCtor(PreWebKitCtrl, wxWebKitCtrl());
138
139
140 bool Create(wxWindow *parent,
141 wxWindowID winID = -1,
142 const wxString& strURL = wxPyEmptyString,
143 const wxPoint& pos = wxDefaultPosition,
144 const wxSize& size = wxDefaultSize, long style = 0,
145 const wxValidator& validator = wxDefaultValidator,
146 const wxString& name = wxPyWebKitNameStr);
147
148 void LoadURL(const wxString &url);
149
150 bool CanGoBack();
151 bool CanGoForward();
152 bool GoBack();
153 bool GoForward();
154 void Reload();
155 void Stop();
156 bool CanGetPageSource();
157 wxString GetPageSource();
158 void SetPageSource(wxString& source, const wxString& baseUrl = wxPyEmptyString);
159};
160
161
162//---------------------------------------------------------------------------
163
164
165enum {
166 wxWEBKIT_STATE_START,
167 wxWEBKIT_STATE_NEGOTIATING,
168 wxWEBKIT_STATE_REDIRECTING,
169 wxWEBKIT_STATE_TRANSFERRING,
170 wxWEBKIT_STATE_STOP,
171 wxWEBKIT_STATE_FAILED,
172};
173
174
175%constant wxEventType wxEVT_WEBKIT_STATE_CHANGED;
176
177
178class wxWebKitStateChangedEvent : public wxCommandEvent
179{
180public:
181 wxWebKitStateChangedEvent( wxWindow* win = NULL );
182
183 int GetState();
184 void SetState(const int state);
185 wxString GetURL();
186 void SetURL(const wxString& url);
187};
188
189
190%pythoncode %{
191 EVT_WEBKIT_STATE_CHANGED = wx.PyEventBinder(wxEVT_WEBKIT_STATE_CHANGED)
192%}
193
194
195//---------------------------------------------------------------------------
196
197%init %{
198
199%}
200
201//---------------------------------------------------------------------------