Files
wxWidgets/wxPython/src/webkit.i
Robin Dunn f18ba20ce0 Corrected compile error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-13 20:27:56 +00:00

206 lines
5.5 KiB
OpenEdge ABL

/////////////////////////////////////////////////////////////////////////////
// Name: webkit.i
// Purpose: Embedding Apple's WebKit in wxWidgets
//
// Author: Robin Dunn / Kevin Ollivier
//
// Created: 18-Oct-2004
// RCS-ID: $Id$
// Copyright: (c) 2004 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
%define DOCSTRING
"wx.webkit.WebKitCtrl for Mac OSX."
%enddef
%module(package="wx", docstring=DOCSTRING) webkit
%{
#include "wx/wxPython/wxPython.h"
#include "wx/wxPython/pyclasses.h"
#include "wx/wxPython/pyistream.h"
#ifdef __WXMAC__ // avoid a bug in Carbon headers
#define scalb scalbn
#endif
#if wxUSE_WEBKIT
#include "wx/html/webkit.h"
#endif
%}
//---------------------------------------------------------------------------
%import core.i
%pythoncode { wx = _core }
%pythoncode { __docfilter__ = wx.__DocFilter(globals()) }
%include _webkit_rename.i
//---------------------------------------------------------------------------
// Put some wx default wxChar* values into wxStrings.
MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
MAKE_CONST_WXSTRING2(WebKitNameStr, wxT("webkitctrl"))
%{
#if !wxUSE_WEBKIT
// a dummy class for ports that don't have wxWebKitCtrl
class wxWebKitCtrl : public wxControl
{
public:
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 = wxPyWebKitNameStr)
{ wxPyRaiseNotImplemented(); }
wxWebKitCtrl() { wxPyRaiseNotImplemented(); }
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 = wxPyWebKitNameStr)
{ return false; }
void LoadURL(const wxString &url) {}
bool CanGoBack() { return false; }
bool CanGoForward() { return false; }
bool GoBack() { return false; }
bool GoForward() { return false; }
void Reload() {}
void Stop() {}
bool CanGetPageSource() { return false; }
wxString GetPageSource() { return wxEmptyString; }
void SetPageSource(wxString& source, const wxString& baseUrl = wxEmptyString) {}
wxString GetPageURL() { return wxEmptyString; }
wxString GetPageTitle() { return wxEmptyString; }
};
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
};
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) {}
};
#endif
%}
// 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 = -1,
const wxString& strURL = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxPyWebKitNameStr);
%RenameCtor(PreWebKitCtrl, wxWebKitCtrl());
bool Create(wxWindow *parent,
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);
void LoadURL(const wxString &url);
bool CanGoBack();
bool CanGoForward();
bool GoBack();
bool GoForward();
void Reload();
void Stop();
bool CanGetPageSource();
wxString GetPageSource();
void SetPageSource(wxString& source, const wxString& baseUrl = wxPyEmptyString);
wxString GetPageURL();
wxString GetPageTitle();
};
//---------------------------------------------------------------------------
enum {
wxWEBKIT_STATE_START,
wxWEBKIT_STATE_NEGOTIATING,
wxWEBKIT_STATE_REDIRECTING,
wxWEBKIT_STATE_TRANSFERRING,
wxWEBKIT_STATE_STOP,
wxWEBKIT_STATE_FAILED,
};
%constant wxEventType wxEVT_WEBKIT_STATE_CHANGED;
class wxWebKitStateChangedEvent : public wxCommandEvent
{
public:
wxWebKitStateChangedEvent( wxWindow* win = NULL );
int GetState();
void SetState(const int state);
wxString GetURL();
void SetURL(const wxString& url);
};
%pythoncode %{
EVT_WEBKIT_STATE_CHANGED = wx.PyEventBinder(wxEVT_WEBKIT_STATE_CHANGED)
%}
//---------------------------------------------------------------------------
%init %{
%}
//---------------------------------------------------------------------------