git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
206 lines
5.5 KiB
OpenEdge ABL
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 %{
|
|
|
|
%}
|
|
|
|
//---------------------------------------------------------------------------
|