From 4136a15d5647044f73003399da4153036083bf57 Mon Sep 17 00:00:00 2001 From: Kevin Ollivier Date: Tue, 20 Dec 2005 05:37:59 +0000 Subject: [PATCH] Removing old iewin extension. Replaced by activex/wxie. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/contrib/iewin/.cvsignore | 1 - wxPython/contrib/iewin/IEHtmlWin.cpp | 585 ---- wxPython/contrib/iewin/IEHtmlWin.h | 104 - wxPython/contrib/iewin/_iewin_rename.i | 13 - wxPython/contrib/iewin/_iewin_reverse.txt | 2 - wxPython/contrib/iewin/_iewinextras.py | 4 - wxPython/contrib/iewin/iewin.i | 118 - wxPython/contrib/iewin/iewin.py | 181 -- wxPython/contrib/iewin/iewin_wrap.cpp | 3118 --------------------- wxPython/contrib/iewin/readme.txt | 158 -- wxPython/contrib/iewin/wxactivex.cpp | 1952 ------------- wxPython/contrib/iewin/wxactivex.h | 392 --- 12 files changed, 6628 deletions(-) delete mode 100644 wxPython/contrib/iewin/.cvsignore delete mode 100644 wxPython/contrib/iewin/IEHtmlWin.cpp delete mode 100644 wxPython/contrib/iewin/IEHtmlWin.h delete mode 100644 wxPython/contrib/iewin/_iewin_rename.i delete mode 100644 wxPython/contrib/iewin/_iewin_reverse.txt delete mode 100644 wxPython/contrib/iewin/_iewinextras.py delete mode 100644 wxPython/contrib/iewin/iewin.i delete mode 100644 wxPython/contrib/iewin/iewin.py delete mode 100644 wxPython/contrib/iewin/iewin_wrap.cpp delete mode 100644 wxPython/contrib/iewin/readme.txt delete mode 100644 wxPython/contrib/iewin/wxactivex.cpp delete mode 100644 wxPython/contrib/iewin/wxactivex.h diff --git a/wxPython/contrib/iewin/.cvsignore b/wxPython/contrib/iewin/.cvsignore deleted file mode 100644 index dcc27807b2..0000000000 --- a/wxPython/contrib/iewin/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -orig diff --git a/wxPython/contrib/iewin/IEHtmlWin.cpp b/wxPython/contrib/iewin/IEHtmlWin.cpp deleted file mode 100644 index b098197b76..0000000000 --- a/wxPython/contrib/iewin/IEHtmlWin.cpp +++ /dev/null @@ -1,585 +0,0 @@ -#include "IEHtmlWin.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_NEWWINDOW2) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_MSHTML_TITLECHANGE) - -IMPLEMENT_DYNAMIC_CLASS(wxMSHTMLEvent, wxNotifyEvent) - - -////////////////////////////////////////////////////////////////////// -BEGIN_EVENT_TABLE(wxIEHtmlWin, wxActiveX) -END_EVENT_TABLE() - -class FS_DWebBrowserEvents2 : public IDispatch -{ -private: - DECLARE_OLE_UNKNOWN(FS_DWebBrowserEvents2); - - - wxIEHtmlWin *m_iewin; - -public: - FS_DWebBrowserEvents2(wxIEHtmlWin *iewin) : m_iewin(iewin) {} - virtual ~FS_DWebBrowserEvents2() - { - } - - //IDispatch - STDMETHODIMP GetIDsOfNames(REFIID r, OLECHAR** o, unsigned int i, LCID l, DISPID* d) - { - return E_NOTIMPL; - }; - - STDMETHODIMP GetTypeInfo(unsigned int i, LCID l, ITypeInfo** t) - { - return E_NOTIMPL; - }; - - STDMETHODIMP GetTypeInfoCount(unsigned int* i) - { - return E_NOTIMPL; - }; - - void Post(WXTYPE etype, wxString text, long l1 = 0, long l2 = 0) - { - if (! m_iewin || ! m_iewin->GetParent()) - return; - - wxMSHTMLEvent event; - event.SetId(m_iewin->GetId()); - event.SetEventType(etype); - event.m_text1 = text; - event.m_long1 = l1; - event.m_long2 = l2; - - m_iewin->GetParent()->AddPendingEvent(event); - }; - - bool Process(WXTYPE etype, wxString text = wxEmptyString, long l1 = 0, long l2 = 0) - { - if (! m_iewin || ! m_iewin->GetParent()) - return true; - - wxMSHTMLEvent event; - event.SetId(m_iewin->GetId()); - event.SetEventType(etype); - event.m_text1 = text; - event.m_long1 = l1; - event.m_long2 = l2; - - m_iewin->GetParent()->ProcessEvent(event); - - return event.IsAllowed(); - }; - - wxString GetStrArg(VARIANT& v) - { - VARTYPE vt = v.vt & ~VT_BYREF; - - if (vt == VT_VARIANT) - return GetStrArg(*v.pvarVal); - else if (vt == VT_BSTR) - { - if (v.vt & VT_BYREF) - return (v.pbstrVal ? *v.pbstrVal : L""); - else - return v.bstrVal; - } - else - return wxEmptyString; - }; - -#define STR_ARG(arg) GetStrArg(pDispParams->rgvarg[arg]) - -#define LONG_ARG(arg)\ - (pDispParams->rgvarg[arg].lVal) - - - STDMETHODIMP Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS * pDispParams, - VARIANT * pVarResult, EXCEPINFO * pExcepInfo, - unsigned int * puArgErr) - { - if (wFlags & DISPATCH_PROPERTYGET) - return E_NOTIMPL; - - switch (dispIdMember) - { - case DISPID_BEFORENAVIGATE2: - if (Process(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, STR_ARG(5))) - *pDispParams->rgvarg->pboolVal = VARIANT_FALSE; - else - *pDispParams->rgvarg->pboolVal = VARIANT_TRUE; - break; - - case DISPID_NEWWINDOW2: - if (Process(wxEVT_COMMAND_MSHTML_NEWWINDOW2)) - *pDispParams->rgvarg->pboolVal = VARIANT_FALSE; - else - *pDispParams->rgvarg->pboolVal = VARIANT_TRUE; - break; - - case DISPID_PROGRESSCHANGE: - Post(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, wxEmptyString, LONG_ARG(1), LONG_ARG(0)); - break; - - case DISPID_DOCUMENTCOMPLETE: - Post(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, STR_ARG(0)); - break; - - case DISPID_STATUSTEXTCHANGE: - Post(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, STR_ARG(0)); - break; - - case DISPID_TITLECHANGE: - Post(wxEVT_COMMAND_MSHTML_TITLECHANGE, STR_ARG(0)); - break; - } - - return S_OK; - } -}; - -#undef STR_ARG - -DEFINE_OLE_TABLE(FS_DWebBrowserEvents2) - OLE_IINTERFACE(IUnknown) - OLE_INTERFACE(DIID_DWebBrowserEvents2, DWebBrowserEvents2) -END_OLE_TABLE; - - -static const CLSID CLSID_MozillaBrowser = -{ 0x1339B54C, 0x3453, 0x11D2, - { 0x93, 0xB9, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 } }; - - -//#define PROGID "Shell.Explorer" -#define PROGID CLSID_WebBrowser -//#define PROGID CLSID_MozillaBrowser -//#define PROGID CLSID_HTMLDocument -//#define PROGID "MSCAL.Calendar" -//#define PROGID "WordPad.Document.1" -//#define PROGID "SoftwareFX.ChartFX.20" - -wxIEHtmlWin::wxIEHtmlWin(wxWindow * parent, wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) : - wxActiveX(parent, PROGID, id, pos, size, style, name) -{ - SetupBrowser(); -} - - -wxIEHtmlWin::~wxIEHtmlWin() -{ -} - -void wxIEHtmlWin::SetupBrowser() -{ - HRESULT hret; - - // Get IWebBrowser2 Interface - hret = m_webBrowser.QueryInterface(IID_IWebBrowser2, m_ActiveX); - assert(SUCCEEDED(hret)); - - // Web Browser Events - FS_DWebBrowserEvents2 *events = new FS_DWebBrowserEvents2(this); - hret = ConnectAdvise(DIID_DWebBrowserEvents2, events); - if (! SUCCEEDED(hret)) - delete events; - - // web browser setup - m_webBrowser->put_MenuBar(VARIANT_FALSE); - m_webBrowser->put_AddressBar(VARIANT_FALSE); - m_webBrowser->put_StatusBar(VARIANT_FALSE); - m_webBrowser->put_ToolBar(VARIANT_FALSE); - - m_webBrowser->put_RegisterAsBrowser(VARIANT_TRUE); - m_webBrowser->put_RegisterAsDropTarget(VARIANT_TRUE); - - m_webBrowser->Navigate( L"about:blank", NULL, NULL, NULL, NULL ); -} - - -void wxIEHtmlWin::SetEditMode(bool seton) -{ - m_bAmbientUserMode = ! seton; - AmbientPropertyChanged(DISPID_AMBIENT_USERMODE); -}; - -bool wxIEHtmlWin::GetEditMode() -{ - return ! m_bAmbientUserMode; -}; - - -void wxIEHtmlWin::SetCharset(wxString charset) -{ - // HTML Document ? - IDispatch *pDisp = NULL; - HRESULT hret = m_webBrowser->get_Document(&pDisp); - wxAutoOleInterface disp(pDisp); - - if (disp.Ok()) - { - wxAutoOleInterface doc(IID_IHTMLDocument2, disp); - if (doc.Ok()) - doc->put_charset((BSTR) (const wchar_t *) charset.wc_str(wxConvUTF8)); - //doc->put_charset((BSTR) wxConvUTF8.cMB2WC(charset).data()); - }; -}; - - -class IStreamAdaptorBase : public IStream -{ -private: - DECLARE_OLE_UNKNOWN(IStreamAdaptorBase); - -public: - IStreamAdaptorBase() {} - virtual ~IStreamAdaptorBase() {} - - // ISequentialStream - HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead) = 0; - HRESULT STDMETHODCALLTYPE Write(const void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbWritten) {return E_NOTIMPL;} - - // IStream - HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER __RPC_FAR *plibNewPosition) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE SetSize(ULARGE_INTEGER libNewSize) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE CopyTo(IStream __RPC_FAR *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER __RPC_FAR *pcbRead, ULARGE_INTEGER __RPC_FAR *pcbWritten) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE Commit(DWORD grfCommitFlags) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE Revert(void) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE LockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE UnlockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE Stat(STATSTG __RPC_FAR *pstatstg, DWORD grfStatFlag) {return E_NOTIMPL;} - HRESULT STDMETHODCALLTYPE Clone(IStream __RPC_FAR *__RPC_FAR *ppstm) {return E_NOTIMPL;} -}; - -DEFINE_OLE_TABLE(IStreamAdaptorBase) - OLE_IINTERFACE(IUnknown) - OLE_IINTERFACE(ISequentialStream) - OLE_IINTERFACE(IStream) -END_OLE_TABLE; - -class IStreamAdaptor : public IStreamAdaptorBase -{ -private: - istream *m_is; - -public: - - IStreamAdaptor(istream *is) : IStreamAdaptorBase(), m_is(is) - { - wxASSERT(m_is != NULL); - } - ~IStreamAdaptor() - { - delete m_is; - } - - // ISequentialStream - HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead) - { - m_is->read((char *) pv, cb); - if (pcbRead) - *pcbRead = m_is->gcount(); - - return S_OK; - }; -}; - -class IwxStreamAdaptor : public IStreamAdaptorBase -{ -private: - wxInputStream *m_is; - -public: - - IwxStreamAdaptor(wxInputStream *is) : IStreamAdaptorBase(), m_is(is) - { - wxASSERT(m_is != NULL); - } - ~IwxStreamAdaptor() - { - delete m_is; - } - - // ISequentialStream - HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead) - { - m_is->Read((char *) pv, cb); - if (pcbRead) - *pcbRead = m_is->LastRead(); - - return S_OK; - }; -}; - -void wxIEHtmlWin::LoadUrl(const wxString& url) -{ - VARIANTARG navFlag, targetFrame, postData, headers; - navFlag.vt = VT_EMPTY; - navFlag.vt = VT_I2; - navFlag.iVal = navNoReadFromCache; - targetFrame.vt = VT_EMPTY; - postData.vt = VT_EMPTY; - headers.vt = VT_EMPTY; - - HRESULT hret = 0; - hret = m_webBrowser->Navigate((BSTR) (const wchar_t *) url.wc_str(wxConvUTF8), - &navFlag, &targetFrame, &postData, &headers); -}; - -class wxOwnedMemInputStream : public wxMemoryInputStream -{ -public: - char *m_data; - - wxOwnedMemInputStream(char *data, size_t len) : - wxMemoryInputStream(data, len), m_data(data) - {} - ~wxOwnedMemInputStream() - { - free(m_data); - } -}; - -bool wxIEHtmlWin::LoadString(wxString html) -{ - char *data = NULL; - size_t len = html.length(); -#ifdef UNICODE - len *= 2; -#endif - data = (char *) malloc(len); - memcpy(data, html.c_str(), len); - return LoadStream(new wxOwnedMemInputStream(data, len)); -}; - -bool wxIEHtmlWin::LoadStream(IStreamAdaptorBase *pstrm) -{ - wxAutoOleInterface strm(pstrm); - - // Document Interface - IDispatch *pDisp = NULL; - HRESULT hret = m_webBrowser->get_Document(&pDisp); - if (! pDisp) - return false; - wxAutoOleInterface disp(pDisp); - - - // get IPersistStreamInit - wxAutoOleInterface - pPersistStreamInit(IID_IPersistStreamInit, disp); - - if (pPersistStreamInit.Ok()) - { - HRESULT hr = pPersistStreamInit->InitNew(); - if (SUCCEEDED(hr)) - hr = pPersistStreamInit->Load(strm); - - return SUCCEEDED(hr); - } - else - return false; -}; - -bool wxIEHtmlWin::LoadStream(istream *is) -{ - // wrap reference around stream - IStreamAdaptor *pstrm = new IStreamAdaptor(is); - pstrm->AddRef(); - - return LoadStream(pstrm); -}; - -bool wxIEHtmlWin::LoadStream(wxInputStream *is) -{ - // wrap reference around stream - IwxStreamAdaptor *pstrm = new IwxStreamAdaptor(is); - pstrm->AddRef(); - - return LoadStream(pstrm); -}; - - -bool wxIEHtmlWin::GoBack() -{ - HRESULT hret = 0; - hret = m_webBrowser->GoBack(); - return hret == S_OK; -} - -bool wxIEHtmlWin::GoForward() -{ - HRESULT hret = 0; - hret = m_webBrowser->GoForward(); - return hret == S_OK; -} - -bool wxIEHtmlWin::GoHome() -{ - HRESULT hret = 0; - hret = m_webBrowser->GoHome(); - return hret == S_OK; -} - -bool wxIEHtmlWin::GoSearch() -{ - HRESULT hret = 0; - hret = m_webBrowser->GoSearch(); - return hret == S_OK; -} - -bool wxIEHtmlWin::Refresh(wxIEHtmlRefreshLevel level) -{ - VARIANTARG levelArg; - HRESULT hret = 0; - - levelArg.vt = VT_I2; - levelArg.iVal = level; - hret = m_webBrowser->Refresh2(&levelArg); - return hret == S_OK; -} - -bool wxIEHtmlWin::Stop() -{ - HRESULT hret = 0; - hret = m_webBrowser->Stop(); - return hret == S_OK; -} - - -/////////////////////////////////////////////////////////////////////////////// - -static wxAutoOleInterface GetSelObject(IOleObject *oleObject) -{ - // Query for IWebBrowser interface - wxAutoOleInterface wb(IID_IWebBrowser2, oleObject); - if (! wb.Ok()) - return wxAutoOleInterface(); - - IDispatch *iDisp = NULL; - HRESULT hr = wb->get_Document(&iDisp); - if (hr != S_OK) - return wxAutoOleInterface(); - - // Query for Document Interface - wxAutoOleInterface hd(IID_IHTMLDocument2, iDisp); - iDisp->Release(); - - if (! hd.Ok()) - return wxAutoOleInterface(); - - IHTMLSelectionObject *_so = NULL; - hr = hd->get_selection(&_so); - - // take ownership of selection object - wxAutoOleInterface so(_so); - - return so; -}; - -static wxAutoOleInterface GetSelRange(IOleObject *oleObject) -{ - wxAutoOleInterface tr; - - wxAutoOleInterface so(GetSelObject(oleObject)); - if (! so) - return tr; - - IDispatch *iDisp = NULL; - HRESULT hr = so->createRange(&iDisp); - if (hr != S_OK) - return tr; - - // Query for IHTMLTxtRange interface - tr.QueryInterface(IID_IHTMLTxtRange, iDisp); - iDisp->Release(); - return tr; -}; - - -wxString wxIEHtmlWin::GetStringSelection(bool asHTML) -{ - wxAutoOleInterface tr(GetSelRange(m_oleObject)); - if (! tr) - return wxEmptyString; - - BSTR text = NULL; - HRESULT hr = E_FAIL; - - if (asHTML) - hr = tr->get_htmlText(&text); - else - hr = tr->get_text(&text); - if (hr != S_OK) - return wxEmptyString; - - wxString s = text; - SysFreeString(text); - - return s; -}; - -wxString wxIEHtmlWin::GetText(bool asHTML) -{ - if (! m_webBrowser.Ok()) - return wxEmptyString; - - // get document dispatch interface - IDispatch *iDisp = NULL; - HRESULT hr = m_webBrowser->get_Document(&iDisp); - if (hr != S_OK) - return wxEmptyString; - - // Query for Document Interface - wxAutoOleInterface hd(IID_IHTMLDocument2, iDisp); - iDisp->Release(); - - if (! hd.Ok()) - return wxEmptyString; - - // get body element - IHTMLElement *_body = NULL; - hd->get_body(&_body); - if (! _body) - return wxEmptyString; - wxAutoOleInterface body(_body); - - // get inner text - BSTR text = NULL; - hr = E_FAIL; - - if (asHTML) - hr = body->get_innerHTML(&text); - else - hr = body->get_innerText(&text); - if (hr != S_OK) - return wxEmptyString; - - wxString s = text; - SysFreeString(text); - - return s; -}; diff --git a/wxPython/contrib/iewin/IEHtmlWin.h b/wxPython/contrib/iewin/IEHtmlWin.h deleted file mode 100644 index 94b7fe1942..0000000000 --- a/wxPython/contrib/iewin/IEHtmlWin.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef _IEHTMLWIN_H_ -#define _IEHTMLWIN_H_ -#pragma warning( disable : 4101 4786) -#pragma warning( disable : 4786) - - -#include -#include -#include -#include -using namespace std; - -#include "wxactivex.h" - -class wxMSHTMLEvent : public wxNotifyEvent -{ -public: - wxMSHTMLEvent(wxEventType commandType = wxEVT_NULL, int id = 0) - : wxNotifyEvent(commandType, id) - {} - - wxString GetText1() { return m_text1; } - long GetLong1() { return m_long1; } - long GetLong2() { return m_long2; } - - - wxString m_text1; - long m_long1, m_long2; - - virtual wxEvent *Clone() const { return new wxMSHTMLEvent(*this); } - -private: - DECLARE_DYNAMIC_CLASS(wxMSHTMLEvent) - -}; - -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, 0) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_NEWWINDOW2, 0) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, 0) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, 0) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, 0) - DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_TITLECHANGE, 0) -END_DECLARE_EVENT_TYPES() - -typedef void (wxEvtHandler::*wxMSHTMLEventFunction)(wxMSHTMLEvent&); - -#define EVT_MSHTML_BEFORENAVIGATE2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), -#define EVT_MSHTML_NEWWINDOW2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_NEWWINDOW2, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), -#define EVT_MSHTML_DOCUMENTCOMPLETE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), -#define EVT_MSHTML_PROGRESSCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), -#define EVT_MSHTML_STATUSTEXTCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), -#define EVT_MSHTML_TITLECHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_TITLECHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxMSHTMLEventFunction, & fn ), NULL ), - - -enum wxIEHtmlRefreshLevel -{ - wxIEHTML_REFRESH_NORMAL = 0, - wxIEHTML_REFRESH_IFEXPIRED = 1, - wxIEHTML_REFRESH_CONTINUE = 2, - wxIEHTML_REFRESH_COMPLETELY = 3 -}; - -class IStreamAdaptorBase; - -class wxIEHtmlWin : public wxActiveX -{ - -public: - wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPanelNameStr); - virtual ~wxIEHtmlWin(); - - void LoadUrl(const wxString&); - bool LoadString(wxString html); - bool LoadStream(istream *strm); - bool LoadStream(wxInputStream *is); - - void SetCharset(wxString charset); - void SetEditMode(bool seton); - bool GetEditMode(); - wxString GetStringSelection(bool asHTML = false); - wxString GetText(bool asHTML = false); - - bool GoBack(); - bool GoForward(); - bool GoHome(); - bool GoSearch(); - bool Refresh(wxIEHtmlRefreshLevel level); - bool Stop(); - - DECLARE_EVENT_TABLE(); - -protected: - void SetupBrowser(); - bool LoadStream(IStreamAdaptorBase *pstrm); - - wxAutoOleInterface m_webBrowser; -}; - -#endif /* _IEHTMLWIN_H_ */ diff --git a/wxPython/contrib/iewin/_iewin_rename.i b/wxPython/contrib/iewin/_iewin_rename.i deleted file mode 100644 index c13fc4687d..0000000000 --- a/wxPython/contrib/iewin/_iewin_rename.i +++ /dev/null @@ -1,13 +0,0 @@ -// A bunch of %rename directives generated by BuildRenamers in config.py -// in order to remove the wx prefix from all global scope names. - -#ifndef BUILDING_RENAMERS - -%rename(MSHTMLEvent) wxMSHTMLEvent; -%rename(IEHTML_REFRESH_NORMAL) wxIEHTML_REFRESH_NORMAL; -%rename(IEHTML_REFRESH_IFEXPIRED) wxIEHTML_REFRESH_IFEXPIRED; -%rename(IEHTML_REFRESH_CONTINUE) wxIEHTML_REFRESH_CONTINUE; -%rename(IEHTML_REFRESH_COMPLETELY) wxIEHTML_REFRESH_COMPLETELY; -%rename(IEHtmlWin) wxIEHtmlWin; - -#endif diff --git a/wxPython/contrib/iewin/_iewin_reverse.txt b/wxPython/contrib/iewin/_iewin_reverse.txt deleted file mode 100644 index 03f4b7aea3..0000000000 --- a/wxPython/contrib/iewin/_iewin_reverse.txt +++ /dev/null @@ -1,2 +0,0 @@ - -EVT* diff --git a/wxPython/contrib/iewin/_iewinextras.py b/wxPython/contrib/iewin/_iewinextras.py deleted file mode 100644 index d813dcfcfc..0000000000 --- a/wxPython/contrib/iewin/_iewinextras.py +++ /dev/null @@ -1,4 +0,0 @@ -# Stuff these names into the wx namespace so wxPyConstructObject can find them - -wx.wxMSHTMLEventPtr = wxMSHTMLEventPtr -wx.wxIEHtmlWinPtr = wxIEHtmlWinPtr diff --git a/wxPython/contrib/iewin/iewin.i b/wxPython/contrib/iewin/iewin.i deleted file mode 100644 index f55d9260a4..0000000000 --- a/wxPython/contrib/iewin/iewin.i +++ /dev/null @@ -1,118 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: iewin.i -// Purpose: Internet Explorer in a wxWindow -// -// Author: Robin Dunn -// -// Created: 20-Apr-2001 -// RCS-ID: $Id$ -// Copyright: (c) 2001 by Total Control Software -// Licence: wxWindows license -///////////////////////////////////////////////////////////////////////////// - - -%module(package="wx") iewin - -%{ -#include "wx/wxPython/wxPython.h" -#include "wx/wxPython/pyclasses.h" -#include "wx/wxPython/pyistream.h" - -#include "IEHtmlWin.h" -%} - -//--------------------------------------------------------------------------- - -%import core.i -%pythoncode { wx = _core } -%pythoncode { __docfilter__ = wx.__DocFilter(globals()) } -%pythoncode { - import warnings - warnings.warn("This module is deprecated. Please use the wx.lib.iewin module instead.", - DeprecationWarning, stacklevel=2) -} - -MAKE_CONST_WXSTRING_NOSWIG(PanelNameStr); - -%include _iewin_rename.i - - -//--------------------------------------------------------------------------- - -class wxMSHTMLEvent : public wxNotifyEvent -{ -public: - wxMSHTMLEvent(wxEventType commandType = wxEVT_NULL, int id = 0); - wxString GetText1(); - long GetLong1(); - long GetLong2(); -}; - - -enum { - wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, - wxEVT_COMMAND_MSHTML_NEWWINDOW2, - wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, - wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, - wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, - wxEVT_COMMAND_MSHTML_TITLECHANGE, -}; - - -%pythoncode { -EVT_MSHTML_BEFORENAVIGATE2 = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, 1) -EVT_MSHTML_NEWWINDOW2 = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_NEWWINDOW2, 1) -EVT_MSHTML_DOCUMENTCOMPLETE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, 1) -EVT_MSHTML_PROGRESSCHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, 1) -EVT_MSHTML_STATUSTEXTCHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, 1) -EVT_MSHTML_TITLECHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_TITLECHANGE, 1) -} - -//--------------------------------------------------------------------------- - -enum wxIEHtmlRefreshLevel { - wxIEHTML_REFRESH_NORMAL = 0, - wxIEHTML_REFRESH_IFEXPIRED = 1, - wxIEHTML_REFRESH_CONTINUE = 2, - wxIEHTML_REFRESH_COMPLETELY = 3 -}; - - -MustHaveApp(wxIEHtmlWin); - -class wxIEHtmlWin : public wxWindow /* wxActiveX */ -{ -public: - %pythonAppend wxIEHtmlWin "self._setOORInfo(self)" - - wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPyPanelNameStr); - - void LoadUrl(const wxString&); - bool LoadString(wxString html); - bool LoadStream(wxInputStream *is); - - %pythoncode { Navigate = LoadUrl } - - void SetCharset(wxString charset); - void SetEditMode(bool seton); - bool GetEditMode(); - wxString GetStringSelection(bool asHTML = false); - wxString GetText(bool asHTML = false); - - bool GoBack(); - bool GoForward(); - bool GoHome(); - bool GoSearch(); - %Rename(RefreshPage, bool, Refresh(wxIEHtmlRefreshLevel level)); - bool Stop(); - -}; - - -//--------------------------------------------------------------------------- - - diff --git a/wxPython/contrib/iewin/iewin.py b/wxPython/contrib/iewin/iewin.py deleted file mode 100644 index 1ed4991ea9..0000000000 --- a/wxPython/contrib/iewin/iewin.py +++ /dev/null @@ -1,181 +0,0 @@ -# This file was created automatically by SWIG. -# Don't modify this file, modify the SWIG interface instead. - -import _iewin - -def _swig_setattr_nondynamic(self,class_type,name,value,static=1): - if (name == "this"): - if isinstance(value, class_type): - self.__dict__[name] = value.this - if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown - del value.thisown - return - method = class_type.__swig_setmethods__.get(name,None) - if method: return method(self,value) - if (not static) or hasattr(self,name) or (name == "thisown"): - self.__dict__[name] = value - else: - raise AttributeError("You cannot add attributes to %s" % self) - -def _swig_setattr(self,class_type,name,value): - return _swig_setattr_nondynamic(self,class_type,name,value,0) - -def _swig_getattr(self,class_type,name): - method = class_type.__swig_getmethods__.get(name,None) - if method: return method(self) - raise AttributeError,name - -import types -try: - _object = types.ObjectType - _newclass = 1 -except AttributeError: - class _object : pass - _newclass = 0 -del types - - -def _swig_setattr_nondynamic_method(set): - def set_attr(self,name,value): - if hasattr(self,name) or (name in ("this", "thisown")): - set(self,name,value) - else: - raise AttributeError("You cannot add attributes to %s" % self) - return set_attr - - -import _core -wx = _core -__docfilter__ = wx.__DocFilter(globals()) -import warnings -warnings.warn("This module is deprecated. Please use the wx.lib.iewin module instead.", - DeprecationWarning, stacklevel=2) - -class MSHTMLEvent(_core.NotifyEvent): - """Proxy of C++ MSHTMLEvent class""" - def __repr__(self): - return "<%s.%s; proxy of C++ wxMSHTMLEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> MSHTMLEvent""" - newobj = _iewin.new_MSHTMLEvent(*args, **kwargs) - self.this = newobj.this - self.thisown = 1 - del newobj.thisown - def GetText1(*args, **kwargs): - """GetText1(self) -> String""" - return _iewin.MSHTMLEvent_GetText1(*args, **kwargs) - - def GetLong1(*args, **kwargs): - """GetLong1(self) -> long""" - return _iewin.MSHTMLEvent_GetLong1(*args, **kwargs) - - def GetLong2(*args, **kwargs): - """GetLong2(self) -> long""" - return _iewin.MSHTMLEvent_GetLong2(*args, **kwargs) - - -class MSHTMLEventPtr(MSHTMLEvent): - def __init__(self, this): - self.this = this - if not hasattr(self,"thisown"): self.thisown = 0 - self.__class__ = MSHTMLEvent -_iewin.MSHTMLEvent_swigregister(MSHTMLEventPtr) - -wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2 = _iewin.wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2 -wxEVT_COMMAND_MSHTML_NEWWINDOW2 = _iewin.wxEVT_COMMAND_MSHTML_NEWWINDOW2 -wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE = _iewin.wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE -wxEVT_COMMAND_MSHTML_PROGRESSCHANGE = _iewin.wxEVT_COMMAND_MSHTML_PROGRESSCHANGE -wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE = _iewin.wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE -wxEVT_COMMAND_MSHTML_TITLECHANGE = _iewin.wxEVT_COMMAND_MSHTML_TITLECHANGE -EVT_MSHTML_BEFORENAVIGATE2 = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, 1) -EVT_MSHTML_NEWWINDOW2 = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_NEWWINDOW2, 1) -EVT_MSHTML_DOCUMENTCOMPLETE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, 1) -EVT_MSHTML_PROGRESSCHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, 1) -EVT_MSHTML_STATUSTEXTCHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, 1) -EVT_MSHTML_TITLECHANGE = wx.PyEventBinder(wxEVT_COMMAND_MSHTML_TITLECHANGE, 1) - -IEHTML_REFRESH_NORMAL = _iewin.IEHTML_REFRESH_NORMAL -IEHTML_REFRESH_IFEXPIRED = _iewin.IEHTML_REFRESH_IFEXPIRED -IEHTML_REFRESH_CONTINUE = _iewin.IEHTML_REFRESH_CONTINUE -IEHTML_REFRESH_COMPLETELY = _iewin.IEHTML_REFRESH_COMPLETELY -class IEHtmlWin(_core.Window): - """Proxy of C++ IEHtmlWin class""" - def __repr__(self): - return "<%s.%s; proxy of C++ wxIEHtmlWin instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """ - __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, - Size size=DefaultSize, long style=0, String name=PanelNameStr) -> IEHtmlWin - """ - newobj = _iewin.new_IEHtmlWin(*args, **kwargs) - self.this = newobj.this - self.thisown = 1 - del newobj.thisown - self._setOORInfo(self) - - def LoadUrl(*args, **kwargs): - """LoadUrl(self, String ??)""" - return _iewin.IEHtmlWin_LoadUrl(*args, **kwargs) - - def LoadString(*args, **kwargs): - """LoadString(self, String html) -> bool""" - return _iewin.IEHtmlWin_LoadString(*args, **kwargs) - - def LoadStream(*args, **kwargs): - """LoadStream(self, InputStream is) -> bool""" - return _iewin.IEHtmlWin_LoadStream(*args, **kwargs) - - Navigate = LoadUrl - def SetCharset(*args, **kwargs): - """SetCharset(self, String charset)""" - return _iewin.IEHtmlWin_SetCharset(*args, **kwargs) - - def SetEditMode(*args, **kwargs): - """SetEditMode(self, bool seton)""" - return _iewin.IEHtmlWin_SetEditMode(*args, **kwargs) - - def GetEditMode(*args, **kwargs): - """GetEditMode(self) -> bool""" - return _iewin.IEHtmlWin_GetEditMode(*args, **kwargs) - - def GetStringSelection(*args, **kwargs): - """GetStringSelection(self, bool asHTML=False) -> String""" - return _iewin.IEHtmlWin_GetStringSelection(*args, **kwargs) - - def GetText(*args, **kwargs): - """GetText(self, bool asHTML=False) -> String""" - return _iewin.IEHtmlWin_GetText(*args, **kwargs) - - def GoBack(*args, **kwargs): - """GoBack(self) -> bool""" - return _iewin.IEHtmlWin_GoBack(*args, **kwargs) - - def GoForward(*args, **kwargs): - """GoForward(self) -> bool""" - return _iewin.IEHtmlWin_GoForward(*args, **kwargs) - - def GoHome(*args, **kwargs): - """GoHome(self) -> bool""" - return _iewin.IEHtmlWin_GoHome(*args, **kwargs) - - def GoSearch(*args, **kwargs): - """GoSearch(self) -> bool""" - return _iewin.IEHtmlWin_GoSearch(*args, **kwargs) - - def RefreshPage(*args, **kwargs): - """RefreshPage(self, int level) -> bool""" - return _iewin.IEHtmlWin_RefreshPage(*args, **kwargs) - - def Stop(*args, **kwargs): - """Stop(self) -> bool""" - return _iewin.IEHtmlWin_Stop(*args, **kwargs) - - -class IEHtmlWinPtr(IEHtmlWin): - def __init__(self, this): - self.this = this - if not hasattr(self,"thisown"): self.thisown = 0 - self.__class__ = IEHtmlWin -_iewin.IEHtmlWin_swigregister(IEHtmlWinPtr) - - diff --git a/wxPython/contrib/iewin/iewin_wrap.cpp b/wxPython/contrib/iewin/iewin_wrap.cpp deleted file mode 100644 index 611da285d2..0000000000 --- a/wxPython/contrib/iewin/iewin_wrap.cpp +++ /dev/null @@ -1,3118 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.24 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -#define SWIGPYTHON - -#ifdef __cplusplus -template class SwigValueWrapper { - T *tt; -public: - SwigValueWrapper() : tt(0) { } - SwigValueWrapper(const SwigValueWrapper& rhs) : tt(new T(*rhs.tt)) { } - SwigValueWrapper(const T& t) : tt(new T(t)) { } - ~SwigValueWrapper() { delete tt; } - SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; } - operator T&() const { return *tt; } - T *operator&() { return tt; } -private: - SwigValueWrapper& operator=(const SwigValueWrapper& rhs); -}; -#endif - - -#ifndef SWIG_TEMPLATE_DISAMBIGUATOR -# if defined(__SUNPRO_CC) -# define SWIG_TEMPLATE_DISAMBIGUATOR template -# else -# define SWIG_TEMPLATE_DISAMBIGUATOR -# endif -#endif - - -#include - -/*********************************************************************** - * swigrun.swg - * - * This file contains generic CAPI SWIG runtime support for pointer - * type checking. - * - ************************************************************************/ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "1" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -#define SWIG_QUOTE_STRING(x) #x -#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -#define SWIG_TYPE_TABLE_NAME -#endif - -#include - -#ifndef SWIGINLINE -#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -#else -# define SWIGINLINE -#endif -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the swig runtime code. - In 99.9% of the cases, swig just needs to declare them as 'static'. - - But only do this if is strictly necessary, ie, if you have problems - with your compiler or so. -*/ -#ifndef SWIGRUNTIME -#define SWIGRUNTIME static -#endif -#ifndef SWIGRUNTIMEINLINE -#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void *(*swig_converter_func)(void *); -typedef struct swig_type_info *(*swig_dycast_func)(void **); - -typedef struct swig_type_info { - const char *name; - swig_converter_func converter; - const char *str; - void *clientdata; - swig_dycast_func dcast; - struct swig_type_info *next; - struct swig_type_info *prev; -} swig_type_info; - -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. - - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return *f1 - *f2; - } - return (l1 - f1) - (l2 - f2); -} - -/* - Check type equivalence in a name list like ||... -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - int equiv = 0; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (!equiv && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; - } - equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0; - if (*ne) ++ne; - } - return equiv; -} - -/* - Register a type mapping with the type-checking -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) { - swig_type_info *tc, *head, *ret, *next; - /* Check to see if this type has already been registered */ - tc = *tl; - while (tc) { - /* check simple type equivalence */ - int typeequiv = (strcmp(tc->name, ti->name) == 0); - /* check full type equivalence, resolving typedefs */ - if (!typeequiv) { - /* only if tc is not a typedef (no '|' on it) */ - if (tc->str && ti->str && !strstr(tc->str,"|")) { - typeequiv = SWIG_TypeEquiv(ti->str,tc->str); - } - } - if (typeequiv) { - /* Already exists in the table. Just add additional types to the list */ - if (ti->clientdata) tc->clientdata = ti->clientdata; - head = tc; - next = tc->next; - goto l1; - } - tc = tc->prev; - } - head = ti; - next = 0; - - /* Place in list */ - ti->prev = *tl; - *tl = ti; - - /* Build linked lists */ - l1: - ret = head; - tc = ti + 1; - /* Patch up the rest of the links */ - while (tc->name) { - head->next = tc; - tc->prev = head; - head = tc; - tc++; - } - if (next) next->prev = head; - head->next = next; - - return ret; -} - -/* - Check the typename -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - swig_type_info *s; - if (!ty) return 0; /* Void pointer */ - s = ty->next; /* First element always just a name */ - do { - if (strcmp(s->name,c) == 0) { - if (s == ty->next) return s; - /* Move s to the top of the linked list */ - s->prev->next = s->next; - if (s->next) { - s->next->prev = s->prev; - } - /* Insert s as second element in the list */ - s->next = ty->next; - if (ty->next) ty->next->prev = s; - ty->next = s; - s->prev = ty; - return s; - } - s = s->next; - } while (s && (s != ty->next)); - return 0; -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_type_info *ty, void *ptr) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { - swig_type_info *lastty = ty; - if (!ty || !ty->dcast) return ty; - while (ty && (ty->dcast)) { - ty = (*ty->dcast)(ptr); - if (ty) lastty = ty; - } - return lastty; -} - -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * -SWIG_TypeName(const swig_type_info *ty) { - return ty->name; -} - -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; - } - else - return type->name; -} - -/* - Search for a swig_type_info structure -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryTL(swig_type_info *tl, const char *name) { - swig_type_info *ty = tl; - while (ty) { - if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty; - if (ty->name && (strcmp(name,ty->name) == 0)) return ty; - ty = ty->prev; - } - return 0; -} - -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void -SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) { - swig_type_info *tc, *equiv; - if (ti->clientdata) return; - /* if (ti->clientdata == clientdata) return; */ - ti->clientdata = clientdata; - equiv = ti->next; - while (equiv) { - if (!equiv->converter) { - tc = tl; - while (tc) { - if ((strcmp(tc->name, equiv->name) == 0)) - SWIG_TypeClientDataTL(tl,tc,clientdata); - tc = tc->prev; - } - } - equiv = equiv->next; - } -} - -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static char hex[17] = "0123456789abcdef"; - unsigned char *u = (unsigned char *) ptr; - const unsigned char *eu = u + sz; - register unsigned char uu; - for (; u != eu; ++u) { - uu = *u; - *(c++) = hex[(uu & 0xf0) >> 4]; - *(c++) = hex[uu & 0xf]; - } - return c; -} - -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - register unsigned char *u = (unsigned char *) ptr; - register const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - register int d = *(c++); - register unsigned char uu = 0; - if ((d >= '0') && (d <= '9')) - uu = ((d - '0') << 4); - else if ((d >= 'a') && (d <= 'f')) - uu = ((d - ('a'-10)) << 4); - else - return (char *) 0; - d = *(c++); - if ((d >= '0') && (d <= '9')) - uu |= (d - '0'); - else if ((d >= 'a') && (d <= 'f')) - uu |= (d - ('a'-10)); - else - return (char *) 0; - *u = uu; - } - return c; -} - -/* - This function will propagate the clientdata field of type to any new - swig_type_info structures that have been added into the list of - equivalent types. It is like calling SWIG_TypeClientData(type, - clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) { - swig_type_info *equiv = type->next; - swig_type_info *tc; - if (!type->clientdata) return; - while (equiv) { - if (!equiv->converter) { - tc = tl; - while (tc) { - if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata) - SWIG_TypeClientDataTL(tl,tc, type->clientdata); - tc = tc->prev; - } - } - equiv = equiv->next; - } -} - -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} - -#ifdef __cplusplus -} -#endif - -/*********************************************************************** - * common.swg - * - * This file contains generic SWIG runtime support for pointer - * type checking as well as a few commonly used macros to control - * external linkage. - * - * Author : David Beazley (beazley@cs.uchicago.edu) - * - * Copyright (c) 1999-2000, The University of Chicago - * - * This file may be freely redistributed without license or fee provided - * this copyright message remains intact. - ************************************************************************/ - - -#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if !defined(STATIC_LINKED) -# define SWIGEXPORT(a) __declspec(dllexport) a -# else -# define SWIGEXPORT(a) a -# endif -#else -# define SWIGEXPORT(a) a -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -/*************************************************************************/ - - -/* The static type info list */ - -static swig_type_info *swig_type_list = 0; -static swig_type_info **swig_type_list_handle = &swig_type_list; - - -/* Register a type mapping with the type-checking */ -static swig_type_info * -SWIG_TypeRegister(swig_type_info *ti) { - return SWIG_TypeRegisterTL(swig_type_list_handle, ti); -} - -/* Search for a swig_type_info structure */ -static swig_type_info * -SWIG_TypeQuery(const char *name) { - return SWIG_TypeQueryTL(*swig_type_list_handle, name); -} - -/* Set the clientdata field for a type */ -static void -SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata); -} - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -static void -SWIG_PropagateClientData(swig_type_info *type) { - SWIG_PropagateClientDataTL(*swig_type_list_handle, type); -} - -#ifdef __cplusplus -} -#endif - -/* ----------------------------------------------------------------------------- - * SWIG API. Portion that goes into the runtime - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----------------------------------------------------------------------------- - * for internal method declarations - * ----------------------------------------------------------------------------- */ - -#ifndef SWIGINTERN -#define SWIGINTERN static -#endif - -#ifndef SWIGINTERNSHORT -#ifdef __cplusplus -#define SWIGINTERNSHORT static inline -#else /* C case */ -#define SWIGINTERNSHORT static -#endif /* __cplusplus */ -#endif - - -/* - Exception handling in wrappers -*/ -#define SWIG_fail goto fail -#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) -#define SWIG_append_errmsg(msg) SWIG_Python_AddErrMesg(msg,0) -#define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1) -#define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj) -#define SWIG_null_ref(type) SWIG_Python_NullRef(type) - -/* - Contract support -*/ -#define SWIG_contract_assert(expr, msg) \ - if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else - -/* ----------------------------------------------------------------------------- - * Constant declarations - * ----------------------------------------------------------------------------- */ - -/* Constant Types */ -#define SWIG_PY_INT 1 -#define SWIG_PY_FLOAT 2 -#define SWIG_PY_STRING 3 -#define SWIG_PY_POINTER 4 -#define SWIG_PY_BINARY 5 - -/* Constant information structure */ -typedef struct swig_const_info { - int type; - char *name; - long lvalue; - double dvalue; - void *pvalue; - swig_type_info **ptype; -} swig_const_info; - - -/* ----------------------------------------------------------------------------- - * Alloc. memory flags - * ----------------------------------------------------------------------------- */ -#define SWIG_OLDOBJ 1 -#define SWIG_NEWOBJ SWIG_OLDOBJ + 1 -#define SWIG_PYSTR SWIG_NEWOBJ + 1 - -#ifdef __cplusplus -} -#endif - - -/*********************************************************************** - * pyrun.swg - * - * This file contains the runtime support for Python modules - * and includes code for managing global variables and pointer - * type checking. - * - * Author : David Beazley (beazley@cs.uchicago.edu) - ************************************************************************/ - -/* Common SWIG API */ -#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Python_ConvertPtr(obj, pp, type, flags) -#define SWIG_NewPointerObj(p, type, flags) SWIG_Python_NewPointerObj(p, type, flags) -#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) - - -/* Python-specific SWIG API */ -#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags) -#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) - - -/* ----------------------------------------------------------------------------- - * Pointer declarations - * ----------------------------------------------------------------------------- */ -/* - Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent - C/C++ pointers in the python side. Very useful for debugging, but - not always safe. -*/ -#if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES) -# define SWIG_COBJECT_TYPES -#endif - -/* Flags for pointer conversion */ -#define SWIG_POINTER_EXCEPTION 0x1 -#define SWIG_POINTER_DISOWN 0x2 - - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----------------------------------------------------------------------------- - * Create a new pointer string - * ----------------------------------------------------------------------------- */ - -#ifndef SWIG_BUFFER_SIZE -#define SWIG_BUFFER_SIZE 1024 -#endif - -#if defined(SWIG_COBJECT_TYPES) -#if !defined(SWIG_COBJECT_PYTHON) -/* ----------------------------------------------------------------------------- - * Implements a simple Swig Object type, and use it instead of PyCObject - * ----------------------------------------------------------------------------- */ - -typedef struct { - PyObject_HEAD - void *ptr; - const char *desc; -} PySwigObject; - -/* Declarations for objects of type PySwigObject */ - -SWIGRUNTIME int -PySwigObject_print(PySwigObject *v, FILE *fp, int flags) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) { - fputs("", fp); - return 0; - } else { - return 1; - } -} - -SWIGRUNTIME PyObject * -PySwigObject_repr(PySwigObject *v) -{ - char result[SWIG_BUFFER_SIZE]; - return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? - PyString_FromFormat("", result) : 0; -} - -SWIGRUNTIME PyObject * -PySwigObject_str(PySwigObject *v) -{ - char result[SWIG_BUFFER_SIZE]; - return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ? - PyString_FromString(result) : 0; -} - -SWIGRUNTIME PyObject * -PySwigObject_long(PySwigObject *v) -{ - return PyLong_FromUnsignedLong((unsigned long) v->ptr); -} - -SWIGRUNTIME PyObject * -PySwigObject_oct(PySwigObject *v) -{ - char buf[100]; - unsigned long x = (unsigned long)v->ptr; - if (x == 0) - strcpy(buf, "0"); - else - PyOS_snprintf(buf, sizeof(buf), "0%lo", x); - return PyString_FromString(buf); -} - -SWIGRUNTIME PyObject * -PySwigObject_hex(PySwigObject *v) -{ - char buf[100]; - PyOS_snprintf(buf, sizeof(buf), "0x%lx", (unsigned long)v->ptr); - return PyString_FromString(buf); -} - -SWIGRUNTIME int -PySwigObject_compare(PySwigObject *v, PySwigObject *w) -{ - int c = strcmp(v->desc, w->desc); - if (c) { - return c; - } else { - void *i = v->ptr; - void *j = w->ptr; - return (i < j) ? -1 : (i > j) ? 1 : 0; - } -} - -SWIGRUNTIME void -PySwigObject_dealloc(PySwigObject *self) -{ - PyObject_DEL(self); -} - -SWIGRUNTIME PyTypeObject* -PySwigObject_GetType() { - static char PySwigObject_Type__doc__[] = - "Swig object carries a C/C++ instance pointer"; - - static PyNumberMethods PySwigObject_as_number = { - (binaryfunc)0, /*nb_add*/ - (binaryfunc)0, /*nb_subtract*/ - (binaryfunc)0, /*nb_multiply*/ - (binaryfunc)0, /*nb_divide*/ - (binaryfunc)0, /*nb_remainder*/ - (binaryfunc)0, /*nb_divmod*/ - (ternaryfunc)0,/*nb_power*/ - (unaryfunc)0, /*nb_negative*/ - (unaryfunc)0, /*nb_positive*/ - (unaryfunc)0, /*nb_absolute*/ - (inquiry)0, /*nb_nonzero*/ - 0, /*nb_invert*/ - 0, /*nb_lshift*/ - 0, /*nb_rshift*/ - 0, /*nb_and*/ - 0, /*nb_xor*/ - 0, /*nb_or*/ - (coercion)0, /*nb_coerce*/ - (unaryfunc)PySwigObject_long, /*nb_int*/ - (unaryfunc)PySwigObject_long, /*nb_long*/ - (unaryfunc)0, /*nb_float*/ - (unaryfunc)PySwigObject_oct, /*nb_oct*/ - (unaryfunc)PySwigObject_hex, /*nb_hex*/ -#if PY_VERSION_HEX >= 0x02000000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ -#endif - }; - - static int type_init = 0; - static PyTypeObject PySwigObject_Type; - - if (!type_init) { - PyTypeObject tmp = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "PySwigObject", /*tp_name*/ - sizeof(PySwigObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor)PySwigObject_dealloc, /*tp_dealloc*/ - (printfunc)PySwigObject_print, /*tp_print*/ - (getattrfunc)0, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)PySwigObject_compare, /*tp_compare*/ - (reprfunc)PySwigObject_repr, /*tp_repr*/ - &PySwigObject_as_number, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)PySwigObject_str, /*tp_str*/ - /* Space for future expansion */ - 0L,0L,0L,0L, - PySwigObject_Type__doc__, /* Documentation string */ -#if PY_VERSION_HEX >= 0x02000000 - 0, /* tp_traverse */ - 0, /* tp_clear */ -#endif -#if PY_VERSION_HEX >= 0x02010000 - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#endif -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - - PySwigObject_Type = tmp; - type_init = 1; - } - - return &PySwigObject_Type; -} - -SWIGRUNTIME PyObject * -PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc) -{ - PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_GetType()); - if (self == NULL) return NULL; - self->ptr = ptr; - self->desc = desc; - return (PyObject *)self; -} - -SWIGRUNTIMEINLINE void * -PySwigObject_AsVoidPtr(PyObject *self) -{ - return ((PySwigObject *)self)->ptr; -} - -SWIGRUNTIMEINLINE const char * -PySwigObject_GetDesc(PyObject *self) -{ - return ((PySwigObject *)self)->desc; -} - -SWIGRUNTIMEINLINE int -PySwigObject_Check(PyObject *op) { - return ((op)->ob_type == PySwigObject_GetType()) - || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0); -} - -/* ----------------------------------------------------------------------------- - * Implements a simple Swig Packed type, and use it instead of string - * ----------------------------------------------------------------------------- */ - -typedef struct { - PyObject_HEAD - void *pack; - const char *desc; - size_t size; -} PySwigPacked; - -SWIGRUNTIME int -PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags) -{ - char result[SWIG_BUFFER_SIZE]; - fputs("pack, v->size, 0, sizeof(result))) { - fputs("at ", fp); - fputs(result, fp); - } - fputs(v->desc,fp); - fputs(">", fp); - return 0; -} - -SWIGRUNTIME PyObject * -PySwigPacked_repr(PySwigPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { - return PyString_FromFormat("", result, v->desc); - } else { - return PyString_FromFormat("", v->desc); - } -} - -SWIGRUNTIME PyObject * -PySwigPacked_str(PySwigPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ - return PyString_FromFormat("%s%s", result, v->desc); - } else { - return PyString_FromFormat("%s", v->desc); - } -} - -SWIGRUNTIME int -PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w) -{ - int c = strcmp(v->desc, w->desc); - if (c) { - return c; - } else { - size_t i = v->size; - size_t j = w->size; - int s = (i < j) ? -1 : (i > j) ? 1 : 0; - return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); - } -} - -SWIGRUNTIME void -PySwigPacked_dealloc(PySwigPacked *self) -{ - free(self->pack); - PyObject_DEL(self); -} - -SWIGRUNTIME PyTypeObject* -PySwigPacked_GetType() { - static char PySwigPacked_Type__doc__[] = - "Swig object carries a C/C++ instance pointer"; - static int type_init = 0; - - static PyTypeObject PySwigPacked_Type; - if (!type_init) { - PyTypeObject tmp = { - PyObject_HEAD_INIT(&PyType_Type) - 0, /*ob_size*/ - "PySwigPacked", /*tp_name*/ - sizeof(PySwigPacked), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor)PySwigPacked_dealloc, /*tp_dealloc*/ - (printfunc)PySwigPacked_print, /*tp_print*/ - (getattrfunc)0, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)PySwigPacked_compare, /*tp_compare*/ - (reprfunc)PySwigPacked_repr, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)PySwigPacked_str, /*tp_str*/ - /* Space for future expansion */ - 0L,0L,0L,0L, - PySwigPacked_Type__doc__, /* Documentation string */ -#if PY_VERSION_HEX >= 0x02000000 - 0, /* tp_traverse */ - 0, /* tp_clear */ -#endif -#if PY_VERSION_HEX >= 0x02010000 - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#endif -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - - PySwigPacked_Type = tmp; - type_init = 1; - } - - - - return &PySwigPacked_Type; -} - -SWIGRUNTIME PyObject * -PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc) -{ - PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_GetType()); - if (self == NULL) { - return NULL; - } else { - void *pack = malloc(size); - memcpy(pack, ptr, size); - self->pack = pack; - self->desc = desc; - self->size = size; - return (PyObject *) self; - } -} - -SWIGRUNTIMEINLINE const char * -PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size) -{ - PySwigPacked *self = (PySwigPacked *)obj; - if (self->size != size) return 0; - memcpy(ptr, self->pack, size); - return self->desc; -} - -SWIGRUNTIMEINLINE const char * -PySwigPacked_GetDesc(PyObject *self) -{ - return ((PySwigPacked *)self)->desc; -} - -SWIGRUNTIMEINLINE int -PySwigPacked_Check(PyObject *op) { - return ((op)->ob_type == PySwigPacked_GetType()) - || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0); -} - -#else -/* ----------------------------------------------------------------------------- - * Use the old Python PyCObject instead of PySwigObject - * ----------------------------------------------------------------------------- */ - -#define PySwigObject_GetDesc(obj) PyCObject_GetDesc(obj) -#define PySwigObject_Check(obj) PyCObject_Check(obj) -#define PySwigObject_AsVoidPtr(obj) PyCObject_AsVoidPtr(obj) -#define PySwigObject_FromVoidPtrAndDesc(p, d) PyCObject_FromVoidPtrAndDesc(p, d, NULL) - -#endif - -#endif - -/* ----------------------------------------------------------------------------- - * errors manipulation - * ----------------------------------------------------------------------------- */ - -SWIGRUNTIME void -SWIG_Python_TypeError(const char *type, PyObject *obj) -{ - if (type) { -#if defined(SWIG_COBJECT_TYPES) - if (PySwigObject_Check(obj)) { - const char *otype = (const char *) PySwigObject_GetDesc(obj); - if (otype) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received", - type, otype); - return; - } - } else -#endif - { - const char *otype = (obj ? obj->ob_type->tp_name : 0); - if (otype) { - PyObject *str = PyObject_Str(obj); - const char *cstr = str ? PyString_AsString(str) : 0; - if (cstr) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", - type, otype, cstr); - } else { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", - type, otype); - } - Py_DECREF(str); - return; - } - } - PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); - } else { - PyErr_Format(PyExc_TypeError, "unexpected type is received"); - } -} - -SWIGRUNTIMEINLINE void -SWIG_Python_NullRef(const char *type) -{ - if (type) { - PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type); - } else { - PyErr_Format(PyExc_TypeError, "null reference was received"); - } -} - -SWIGRUNTIME int -SWIG_Python_AddErrMesg(const char* mesg, int infront) -{ - if (PyErr_Occurred()) { - PyObject *type = 0; - PyObject *value = 0; - PyObject *traceback = 0; - PyErr_Fetch(&type, &value, &traceback); - if (value) { - PyObject *old_str = PyObject_Str(value); - Py_XINCREF(type); - PyErr_Clear(); - if (infront) { - PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str)); - } else { - PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); - } - Py_DECREF(old_str); - } - return 1; - } else { - return 0; - } -} - -SWIGRUNTIME int -SWIG_Python_ArgFail(int argnum) -{ - if (PyErr_Occurred()) { - /* add information about failing argument */ - char mesg[256]; - sprintf(mesg, "argument number %d:", argnum); - return SWIG_Python_AddErrMesg(mesg, 1); - } else { - return 0; - } -} - - -/* ----------------------------------------------------------------------------- - * pointers/data manipulation - * ----------------------------------------------------------------------------- */ - -/* Convert a pointer value */ -SWIGRUNTIME int -SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) { - swig_type_info *tc; - const char *c = 0; - static PyObject *SWIG_this = 0; - int newref = 0; - PyObject *pyobj = 0; - void *vptr; - - if (!obj) return 0; - if (obj == Py_None) { - *ptr = 0; - return 0; - } - -#ifdef SWIG_COBJECT_TYPES - if (!(PySwigObject_Check(obj))) { - if (!SWIG_this) - SWIG_this = PyString_FromString("this"); - pyobj = obj; - obj = PyObject_GetAttr(obj,SWIG_this); - newref = 1; - if (!obj) goto type_error; - if (!PySwigObject_Check(obj)) { - Py_DECREF(obj); - goto type_error; - } - } - vptr = PySwigObject_AsVoidPtr(obj); - c = (const char *) PySwigObject_GetDesc(obj); - if (newref) { Py_DECREF(obj); } - goto type_check; -#else - if (!(PyString_Check(obj))) { - if (!SWIG_this) - SWIG_this = PyString_FromString("this"); - pyobj = obj; - obj = PyObject_GetAttr(obj,SWIG_this); - newref = 1; - if (!obj) goto type_error; - if (!PyString_Check(obj)) { - Py_DECREF(obj); - goto type_error; - } - } - c = PyString_AS_STRING(obj); - /* Pointer values must start with leading underscore */ - c = SWIG_UnpackVoidPtr(c, &vptr, ty->name); - if (newref) { Py_DECREF(obj); } - if (!c) goto type_error; -#endif - -type_check: - - if (ty) { - tc = SWIG_TypeCheck(c,ty); - if (!tc) goto type_error; - *ptr = SWIG_TypeCast(tc,vptr); - } else { - *ptr = vptr; - } - - if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) { - PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False); - } - return 0; - -type_error: - PyErr_Clear(); - if (pyobj && !obj) { - obj = pyobj; - if (PyCFunction_Check(obj)) { - /* here we get the method pointer for callbacks */ - char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); - c = doc ? strstr(doc, "swig_ptr: ") : 0; - if (c) { - c = SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name); - if (!c) goto type_error; - goto type_check; - } - } - } - if (flags & SWIG_POINTER_EXCEPTION) { - if (ty) { - SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); - } else { - SWIG_Python_TypeError("C/C++ pointer", obj); - } - } - return -1; -} - -/* Convert a pointer value, signal an exception on a type mismatch */ -SWIGRUNTIME void * -SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) { - void *result; - if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { - PyErr_Clear(); - if (flags & SWIG_POINTER_EXCEPTION) { - SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); - SWIG_Python_ArgFail(argnum); - } - } - return result; -} - -/* Convert a packed value value */ -SWIGRUNTIME int -SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) { - swig_type_info *tc; - const char *c = 0; - -#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) - c = PySwigPacked_UnpackData(obj, ptr, sz); -#else - if ((!obj) || (!PyString_Check(obj))) goto type_error; - c = PyString_AS_STRING(obj); - /* Pointer values must start with leading underscore */ - c = SWIG_UnpackDataName(c, ptr, sz, ty->name); -#endif - if (!c) goto type_error; - if (ty) { - tc = SWIG_TypeCheck(c,ty); - if (!tc) goto type_error; - } - return 0; - -type_error: - PyErr_Clear(); - if (flags & SWIG_POINTER_EXCEPTION) { - if (ty) { - SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); - } else { - SWIG_Python_TypeError("C/C++ packed data", obj); - } - } - return -1; -} - -/* Create a new array object */ -SWIGRUNTIME PyObject * -SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) { - PyObject *robj = 0; - if (!ptr) { - Py_INCREF(Py_None); - return Py_None; - } -#ifdef SWIG_COBJECT_TYPES - robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name); -#else - { - char result[SWIG_BUFFER_SIZE]; - robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ? - PyString_FromString(result) : 0; - } -#endif - if (!robj || (robj == Py_None)) return robj; - if (type->clientdata) { - PyObject *inst; - PyObject *args = Py_BuildValue((char*)"(O)", robj); - Py_DECREF(robj); - inst = PyObject_CallObject((PyObject *) type->clientdata, args); - Py_DECREF(args); - if (inst) { - if (own) { - PyObject_SetAttrString(inst,(char*)"thisown",Py_True); - } - robj = inst; - } - } - return robj; -} - -SWIGRUNTIME PyObject * -SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { - PyObject *robj = 0; - if (!ptr) { - Py_INCREF(Py_None); - return Py_None; - } -#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON) - robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name); -#else - { - char result[SWIG_BUFFER_SIZE]; - robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ? - PyString_FromString(result) : 0; - } -#endif - return robj; -} - -/* -----------------------------------------------------------------------------* - * Get type list - * -----------------------------------------------------------------------------*/ - -#ifdef SWIG_LINK_RUNTIME -void *SWIG_ReturnGlobalTypeList(void *); -#endif - -SWIGRUNTIME swig_type_info ** -SWIG_Python_GetTypeListHandle() { - static void *type_pointer = (void *)0; - /* first check if module already created */ - if (!type_pointer) { -#ifdef SWIG_LINK_RUNTIME - type_pointer = SWIG_ReturnGlobalTypeList((void *)0); -#else - type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); - if (PyErr_Occurred()) { - PyErr_Clear(); - type_pointer = (void *)0; - } - } -#endif - return (swig_type_info **) type_pointer; -} - -/* - Search for a swig_type_info structure - */ -SWIGRUNTIMEINLINE swig_type_info * -SWIG_Python_GetTypeList() { - swig_type_info **tlh = SWIG_Python_GetTypeListHandle(); - return tlh ? *tlh : (swig_type_info*)0; -} - -#define SWIG_Runtime_GetTypeList SWIG_Python_GetTypeList - -#ifdef __cplusplus -} -#endif - - -/* -------- TYPES TABLE (BEGIN) -------- */ - -#define SWIGTYPE_p_wxObject swig_types[0] -#define SWIGTYPE_p_unsigned_char swig_types[1] -#define SWIGTYPE_p_wxWindow swig_types[2] -#define SWIGTYPE_p_wxMSHTMLEvent swig_types[3] -#define SWIGTYPE_p_wxCommandEvent swig_types[4] -#define SWIGTYPE_p_unsigned_long swig_types[5] -#define SWIGTYPE_p_unsigned_int swig_types[6] -#define SWIGTYPE_unsigned_int swig_types[7] -#define SWIGTYPE_p_form_ops_t swig_types[8] -#define SWIGTYPE_p_wxDuplexMode swig_types[9] -#define SWIGTYPE_p_char swig_types[10] -#define SWIGTYPE_p_wxIEHtmlWin swig_types[11] -#define SWIGTYPE_p_wxInputStream swig_types[12] -#define SWIGTYPE_p_wxEvtHandler swig_types[13] -#define SWIGTYPE_p_wxString swig_types[14] -#define SWIGTYPE_std__ptrdiff_t swig_types[15] -#define SWIGTYPE_ptrdiff_t swig_types[16] -#define SWIGTYPE_p_wxNotifyEvent swig_types[17] -#define SWIGTYPE_p_wxEvent swig_types[18] -#define SWIGTYPE_p_wxPaperSize swig_types[19] -#define SWIGTYPE_p_int swig_types[20] -static swig_type_info *swig_types[22]; - -/* -------- TYPES TABLE (END) -------- */ - - -/*----------------------------------------------- - @(target):= _iewin.so - ------------------------------------------------*/ -#define SWIG_init init_iewin - -#define SWIG_name "_iewin" - -#include "wx/wxPython/wxPython.h" -#include "wx/wxPython/pyclasses.h" -#include "wx/wxPython/pyistream.h" - -#include "IEHtmlWin.h" - - static const wxString wxPyPanelNameStr(wxPanelNameStr); - -#include - - -SWIGINTERN int - SWIG_CheckLongInRange(long value, long min_value, long max_value, - const char *errmsg) -{ - if (value < min_value) { - if (errmsg) { - PyErr_Format(PyExc_OverflowError, - "value %ld is less than '%s' minimum %ld", - value, errmsg, min_value); - } - return 0; - } else if (value > max_value) { - if (errmsg) { - PyErr_Format(PyExc_OverflowError, - "value %ld is greater than '%s' maximum %ld", - value, errmsg, max_value); - } - return 0; - } - return 1; -} - - -SWIGINTERN int -SWIG_AsVal_long(PyObject* obj, long* val) -{ - if (PyNumber_Check(obj)) { - if (val) *val = PyInt_AsLong(obj); - return 1; - } - else { - SWIG_type_error("number", obj); - } - return 0; -} - - -#if INT_MAX != LONG_MAX -SWIGINTERN int - SWIG_AsVal_int(PyObject *obj, int *val) -{ - const char* errmsg = val ? "int" : (char*)0; - long v; - if (SWIG_AsVal_long(obj, &v)) { - if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) { - if (val) *val = (int)(v); - return 1; - } else { - return 0; - } - } else { - PyErr_Clear(); - } - if (val) { - SWIG_type_error(errmsg, obj); - } - return 0; -} -#else -SWIGINTERNSHORT int - SWIG_AsVal_int(PyObject *obj, int *val) -{ - return SWIG_AsVal_long(obj,(long*)val); -} -#endif - - -SWIGINTERNSHORT int -SWIG_As_int(PyObject* obj) -{ - int v; - if (!SWIG_AsVal_int(obj, &v)) { - /* - this is needed to make valgrind/purify happier. - */ - memset((void*)&v, 0, sizeof(int)); - } - return v; -} - - -SWIGINTERNSHORT int -SWIG_Check_int(PyObject* obj) -{ - return SWIG_AsVal_int(obj, (int*)0); -} - - - /*@c:\\PROJECTS\\SWIG-cvs\\Lib\\python\\pymacros.swg,66,SWIG_define@*/ -#define SWIG_From_long PyInt_FromLong -/*@@*/ - - - /*@c:\\PROJECTS\\SWIG-cvs\\Lib\\python\\pymacros.swg,66,SWIG_define@*/ -#define SWIG_From_int PyInt_FromLong -/*@@*/ - - -SWIGINTERNSHORT long -SWIG_As_long(PyObject* obj) -{ - long v; - if (!SWIG_AsVal_long(obj, &v)) { - /* - this is needed to make valgrind/purify happier. - */ - memset((void*)&v, 0, sizeof(long)); - } - return v; -} - - -SWIGINTERNSHORT int -SWIG_Check_long(PyObject* obj) -{ - return SWIG_AsVal_long(obj, (long*)0); -} - - -SWIGINTERN int - SWIG_AsVal_bool(PyObject *obj, bool *val) -{ - if (obj == Py_True) { - if (val) *val = true; - return 1; - } - if (obj == Py_False) { - if (val) *val = false; - return 1; - } - int res = 0; - if (SWIG_AsVal_int(obj, &res)) { - if (val) *val = res ? true : false; - return 1; - } else { - PyErr_Clear(); - } - if (val) { - SWIG_type_error("bool", obj); - } - return 0; -} - - -SWIGINTERNSHORT bool -SWIG_As_bool(PyObject* obj) -{ - bool v; - if (!SWIG_AsVal_bool(obj, &v)) { - /* - this is needed to make valgrind/purify happier. - */ - memset((void*)&v, 0, sizeof(bool)); - } - return v; -} - - -SWIGINTERNSHORT int -SWIG_Check_bool(PyObject* obj) -{ - return SWIG_AsVal_bool(obj, (bool*)0); -} - -#ifdef __cplusplus -extern "C" { -#endif -static PyObject *_wrap_new_MSHTMLEvent(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxEventType arg1 = (wxEventType) wxEVT_NULL ; - int arg2 = (int) 0 ; - wxMSHTMLEvent *result; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "commandType",(char *) "id", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_MSHTMLEvent",kwnames,&obj0,&obj1)) goto fail; - if (obj0) { - { - arg1 = (wxEventType)(SWIG_As_int(obj0)); - if (SWIG_arg_fail(1)) SWIG_fail; - } - } - if (obj1) { - { - arg2 = (int)(SWIG_As_int(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (wxMSHTMLEvent *)new wxMSHTMLEvent(arg1,arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxMSHTMLEvent, 1); - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_MSHTMLEvent_GetText1(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxMSHTMLEvent *arg1 = (wxMSHTMLEvent *) 0 ; - wxString result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:MSHTMLEvent_GetText1",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxMSHTMLEvent, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (arg1)->GetText1(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { -#if wxUSE_UNICODE - resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len()); -#else - resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len()); -#endif - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_MSHTMLEvent_GetLong1(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxMSHTMLEvent *arg1 = (wxMSHTMLEvent *) 0 ; - long result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:MSHTMLEvent_GetLong1",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxMSHTMLEvent, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (long)(arg1)->GetLong1(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = SWIG_From_long((long)(result)); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_MSHTMLEvent_GetLong2(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxMSHTMLEvent *arg1 = (wxMSHTMLEvent *) 0 ; - long result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:MSHTMLEvent_GetLong2",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxMSHTMLEvent, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (long)(arg1)->GetLong2(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = SWIG_From_long((long)(result)); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject * MSHTMLEvent_swigregister(PyObject *, PyObject *args) { - PyObject *obj; - if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL; - SWIG_TypeClientData(SWIGTYPE_p_wxMSHTMLEvent, obj); - Py_INCREF(obj); - return Py_BuildValue((char *)""); -} -static PyObject *_wrap_new_IEHtmlWin(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxWindow *arg1 = (wxWindow *) 0 ; - int arg2 = (int) -1 ; - wxPoint const &arg3_defvalue = wxDefaultPosition ; - wxPoint *arg3 = (wxPoint *) &arg3_defvalue ; - wxSize const &arg4_defvalue = wxDefaultSize ; - wxSize *arg4 = (wxSize *) &arg4_defvalue ; - long arg5 = (long) 0 ; - wxString const &arg6_defvalue = wxPyPanelNameStr ; - wxString *arg6 = (wxString *) &arg6_defvalue ; - wxIEHtmlWin *result; - wxPoint temp3 ; - wxSize temp4 ; - bool temp6 = false ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - char *kwnames[] = { - (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOOOO:new_IEHtmlWin",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxWindow, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - if (obj1) { - { - arg2 = (int)(SWIG_As_int(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - } - if (obj2) { - { - arg3 = &temp3; - if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail; - } - } - if (obj3) { - { - arg4 = &temp4; - if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail; - } - } - if (obj4) { - { - arg5 = (long)(SWIG_As_long(obj4)); - if (SWIG_arg_fail(5)) SWIG_fail; - } - } - if (obj5) { - { - arg6 = wxString_in_helper(obj5); - if (arg6 == NULL) SWIG_fail; - temp6 = true; - } - } - { - if (!wxPyCheckForApp()) SWIG_fail; - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (wxIEHtmlWin *)new wxIEHtmlWin(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_wxIEHtmlWin, 1); - { - if (temp6) - delete arg6; - } - return resultobj; - fail: - { - if (temp6) - delete arg6; - } - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_LoadUrl(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - wxString *arg2 = 0 ; - bool temp2 = false ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self","arg2", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_LoadUrl",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - arg2 = wxString_in_helper(obj1); - if (arg2 == NULL) SWIG_fail; - temp2 = true; - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - (arg1)->LoadUrl((wxString const &)*arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - Py_INCREF(Py_None); resultobj = Py_None; - { - if (temp2) - delete arg2; - } - return resultobj; - fail: - { - if (temp2) - delete arg2; - } - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_LoadString(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - wxString arg2 ; - bool result; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "html", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_LoadString",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - wxString* sptr = wxString_in_helper(obj1); - if (sptr == NULL) SWIG_fail; - arg2 = *sptr; - delete sptr; - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->LoadString(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_LoadStream(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - wxInputStream *arg2 = (wxInputStream *) 0 ; - bool result; - wxPyInputStream *temp2 ; - bool created2 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "is", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_LoadStream",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - if (wxPyConvertSwigPtr(obj1, (void **)&temp2, wxT("wxPyInputStream"))) { - arg2 = temp2->m_wxis; - created2 = false; - } else { - PyErr_Clear(); // clear the failure of the wxPyConvert above - arg2 = wxPyCBInputStream_create(obj1, false); - if (arg2 == NULL) { - PyErr_SetString(PyExc_TypeError, "Expected wxInputStream or Python file-like object."); - SWIG_fail; - } - created2 = true; - } - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->LoadStream(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - { - if (created2) - delete arg2; - } - return resultobj; - fail: - { - if (created2) - delete arg2; - } - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_SetCharset(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - wxString arg2 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "charset", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_SetCharset",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - wxString* sptr = wxString_in_helper(obj1); - if (sptr == NULL) SWIG_fail; - arg2 = *sptr; - delete sptr; - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - (arg1)->SetCharset(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - Py_INCREF(Py_None); resultobj = Py_None; - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_SetEditMode(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool arg2 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "seton", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_SetEditMode",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - arg2 = (bool)(SWIG_As_bool(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - (arg1)->SetEditMode(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - Py_INCREF(Py_None); resultobj = Py_None; - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GetEditMode(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_GetEditMode",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->GetEditMode(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GetStringSelection(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool arg2 = (bool) false ; - wxString result; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "asHTML", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:IEHtmlWin_GetStringSelection",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - if (obj1) { - { - arg2 = (bool)(SWIG_As_bool(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (arg1)->GetStringSelection(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { -#if wxUSE_UNICODE - resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len()); -#else - resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len()); -#endif - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GetText(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool arg2 = (bool) false ; - wxString result; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "asHTML", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:IEHtmlWin_GetText",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - if (obj1) { - { - arg2 = (bool)(SWIG_As_bool(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (arg1)->GetText(arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { -#if wxUSE_UNICODE - resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len()); -#else - resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len()); -#endif - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GoBack(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_GoBack",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->GoBack(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GoForward(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_GoForward",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->GoForward(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GoHome(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_GoHome",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->GoHome(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_GoSearch(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_GoSearch",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->GoSearch(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_RefreshPage(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - wxIEHtmlRefreshLevel arg2 ; - bool result; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - char *kwnames[] = { - (char *) "self",(char *) "level", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:IEHtmlWin_RefreshPage",kwnames,&obj0,&obj1)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - arg2 = (wxIEHtmlRefreshLevel)(SWIG_As_int(obj1)); - if (SWIG_arg_fail(2)) SWIG_fail; - } - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->Refresh((wxIEHtmlRefreshLevel )arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject *_wrap_IEHtmlWin_Stop(PyObject *, PyObject *args, PyObject *kwargs) { - PyObject *resultobj; - wxIEHtmlWin *arg1 = (wxIEHtmlWin *) 0 ; - bool result; - PyObject * obj0 = 0 ; - char *kwnames[] = { - (char *) "self", NULL - }; - - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:IEHtmlWin_Stop",kwnames,&obj0)) goto fail; - SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxIEHtmlWin, SWIG_POINTER_EXCEPTION | 0); - if (SWIG_arg_fail(1)) SWIG_fail; - { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (bool)(arg1)->Stop(); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) SWIG_fail; - } - { - resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); - } - return resultobj; - fail: - return NULL; -} - - -static PyObject * IEHtmlWin_swigregister(PyObject *, PyObject *args) { - PyObject *obj; - if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL; - SWIG_TypeClientData(SWIGTYPE_p_wxIEHtmlWin, obj); - Py_INCREF(obj); - return Py_BuildValue((char *)""); -} -static PyMethodDef SwigMethods[] = { - { (char *)"new_MSHTMLEvent", (PyCFunction) _wrap_new_MSHTMLEvent, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"MSHTMLEvent_GetText1", (PyCFunction) _wrap_MSHTMLEvent_GetText1, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"MSHTMLEvent_GetLong1", (PyCFunction) _wrap_MSHTMLEvent_GetLong1, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"MSHTMLEvent_GetLong2", (PyCFunction) _wrap_MSHTMLEvent_GetLong2, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"MSHTMLEvent_swigregister", MSHTMLEvent_swigregister, METH_VARARGS, NULL}, - { (char *)"new_IEHtmlWin", (PyCFunction) _wrap_new_IEHtmlWin, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_LoadUrl", (PyCFunction) _wrap_IEHtmlWin_LoadUrl, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_LoadString", (PyCFunction) _wrap_IEHtmlWin_LoadString, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_LoadStream", (PyCFunction) _wrap_IEHtmlWin_LoadStream, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_SetCharset", (PyCFunction) _wrap_IEHtmlWin_SetCharset, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_SetEditMode", (PyCFunction) _wrap_IEHtmlWin_SetEditMode, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GetEditMode", (PyCFunction) _wrap_IEHtmlWin_GetEditMode, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GetStringSelection", (PyCFunction) _wrap_IEHtmlWin_GetStringSelection, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GetText", (PyCFunction) _wrap_IEHtmlWin_GetText, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GoBack", (PyCFunction) _wrap_IEHtmlWin_GoBack, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GoForward", (PyCFunction) _wrap_IEHtmlWin_GoForward, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GoHome", (PyCFunction) _wrap_IEHtmlWin_GoHome, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_GoSearch", (PyCFunction) _wrap_IEHtmlWin_GoSearch, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_RefreshPage", (PyCFunction) _wrap_IEHtmlWin_RefreshPage, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_Stop", (PyCFunction) _wrap_IEHtmlWin_Stop, METH_VARARGS | METH_KEYWORDS, NULL}, - { (char *)"IEHtmlWin_swigregister", IEHtmlWin_swigregister, METH_VARARGS, NULL}, - { NULL, NULL, 0, NULL } -}; - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ - -static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxLayoutConstraints *) x)); -} -static void *_p_wxGBSizerItemTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x)); -} -static void *_p_wxSizerItemTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxSizerItem *) x)); -} -static void *_p_wxScrollEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x)); -} -static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxIndividualLayoutConstraint *) x)); -} -static void *_p_wxMSHTMLEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxMSHTMLEvent *) x)); -} -static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x)); -} -static void *_p_wxBoxSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x)); -} -static void *_p_wxSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxSizer *) x)); -} -static void *_p_wxGridBagSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x)); -} -static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x)); -} -static void *_p_wxEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxEvent *) x)); -} -static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x)); -} -static void *_p_wxGridSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x)); -} -static void *_p_wxInitDialogEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x)); -} -static void *_p_wxPaintEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x)); -} -static void *_p_wxNcPaintEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x)); -} -static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x)); -} -static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x)); -} -static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x)); -} -static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x)); -} -static void *_p_wxControlTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x)); -} -static void *_p_wxSetCursorEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x)); -} -static void *_p_wxFSFileTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxFSFile *) x)); -} -static void *_p_wxIEHtmlWinTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxIEHtmlWin *) x)); -} -static void *_p_wxPySizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x)); -} -static void *_p_wxPyEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x)); -} -static void *_p_wxNotifyEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x)); -} -static void *_p_wxShowEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x)); -} -static void *_p_wxMenuItemTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxMenuItem *) x)); -} -static void *_p_wxDateEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDateEvent *) x)); -} -static void *_p_wxIdleEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x)); -} -static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x)); -} -static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x)); -} -static void *_p_wxMaximizeEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x)); -} -static void *_p_wxIconizeEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x)); -} -static void *_p_wxSizeEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x)); -} -static void *_p_wxMoveEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x)); -} -static void *_p_wxActivateEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x)); -} -static void *_p_wxXPMHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x)); -} -static void *_p_wxPNMHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x)); -} -static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x)); -} -static void *_p_wxPCXHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x)); -} -static void *_p_wxGIFHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x)); -} -static void *_p_wxPNGHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x)); -} -static void *_p_wxANIHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x)); -} -static void *_p_wxCURHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x)); -} -static void *_p_wxICOHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x)); -} -static void *_p_wxBMPHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x)); -} -static void *_p_wxImageHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxImageHandler *) x)); -} -static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x)); -} -static void *_p_wxEvtHandlerTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxEvtHandler *) x)); -} -static void *_p_wxStdDialogButtonSizerTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStdDialogButtonSizer *) x)); -} -static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxAcceleratorTable *) x)); -} -static void *_p_wxImageTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxImage *) x)); -} -static void *_p_wxScrollWinEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x)); -} -static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x)); -} -static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x)); -} -static void *_p_wxKeyEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x)); -} -static void *_p_wxWindowTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x)); -} -static void *_p_wxMenuTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x)); -} -static void *_p_wxMenuBarTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x)); -} -static void *_p_wxFileSystemTo_p_wxObject(void *x) { - return (void *)((wxObject *) ((wxFileSystem *) x)); -} -static void *_p_wxContextMenuEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x)); -} -static void *_p_wxMenuEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x)); -} -static void *_p_wxPyAppTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x)); -} -static void *_p_wxCloseEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x)); -} -static void *_p_wxMouseEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x)); -} -static void *_p_wxEraseEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x)); -} -static void *_p_wxPyCommandEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x)); -} -static void *_p_wxCommandEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x)); -} -static void *_p_wxDropFilesEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x)); -} -static void *_p_wxFocusEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x)); -} -static void *_p_wxChildFocusEventTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x)); -} -static void *_p_wxControlWithItemsTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x)); -} -static void *_p_wxPyValidatorTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x)); -} -static void *_p_wxValidatorTo_p_wxObject(void *x) { - return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x)); -} -static void *_p_wxControlTo_p_wxWindow(void *x) { - return (void *)((wxWindow *) ((wxControl *) x)); -} -static void *_p_wxIEHtmlWinTo_p_wxWindow(void *x) { - return (void *)((wxWindow *) ((wxIEHtmlWin *) x)); -} -static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) { - return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x)); -} -static void *_p_wxMenuBarTo_p_wxWindow(void *x) { - return (void *)((wxWindow *) ((wxMenuBar *) x)); -} -static void *_p_wxChildFocusEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxChildFocusEvent *) x)); -} -static void *_p_wxScrollEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxScrollEvent *) x)); -} -static void *_p_wxWindowCreateEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxWindowCreateEvent *) x)); -} -static void *_p_wxDateEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxDateEvent *) x)); -} -static void *_p_wxMSHTMLEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxMSHTMLEvent *) x)); -} -static void *_p_wxUpdateUIEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxUpdateUIEvent *) x)); -} -static void *_p_wxWindowDestroyEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxWindowDestroyEvent *) x)); -} -static void *_p_wxContextMenuEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxContextMenuEvent *) x)); -} -static void *_p_wxNotifyEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxNotifyEvent *) x)); -} -static void *_p_wxPyCommandEventTo_p_wxCommandEvent(void *x) { - return (void *)((wxCommandEvent *) ((wxPyCommandEvent *) x)); -} -static void *_p_wxControlTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x)); -} -static void *_p_wxIEHtmlWinTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) (wxWindow *) ((wxIEHtmlWin *) x)); -} -static void *_p_wxWindowTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) ((wxWindow *) x)); -} -static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x)); -} -static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) ((wxPyApp *) x)); -} -static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) ((wxValidator *) x)); -} -static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x)); -} -static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x)); -} -static void *_p_wxMenuTo_p_wxEvtHandler(void *x) { - return (void *)((wxEvtHandler *) ((wxMenu *) x)); -} -static void *_p_wxMSHTMLEventTo_p_wxNotifyEvent(void *x) { - return (void *)((wxNotifyEvent *) ((wxMSHTMLEvent *) x)); -} -static void *_p_wxContextMenuEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxContextMenuEvent *) x)); -} -static void *_p_wxMenuEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxMenuEvent *) x)); -} -static void *_p_wxCloseEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxCloseEvent *) x)); -} -static void *_p_wxMouseEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxMouseEvent *) x)); -} -static void *_p_wxEraseEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxEraseEvent *) x)); -} -static void *_p_wxSetCursorEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxSetCursorEvent *) x)); -} -static void *_p_wxInitDialogEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxInitDialogEvent *) x)); -} -static void *_p_wxScrollEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxScrollEvent *) x)); -} -static void *_p_wxMSHTMLEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxMSHTMLEvent *) x)); -} -static void *_p_wxPyEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxPyEvent *) x)); -} -static void *_p_wxNotifyEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxNotifyEvent *) x)); -} -static void *_p_wxIdleEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxIdleEvent *) x)); -} -static void *_p_wxWindowCreateEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowCreateEvent *) x)); -} -static void *_p_wxQueryNewPaletteEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxQueryNewPaletteEvent *) x)); -} -static void *_p_wxMaximizeEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxMaximizeEvent *) x)); -} -static void *_p_wxIconizeEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxIconizeEvent *) x)); -} -static void *_p_wxActivateEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxActivateEvent *) x)); -} -static void *_p_wxSizeEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxSizeEvent *) x)); -} -static void *_p_wxMoveEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxMoveEvent *) x)); -} -static void *_p_wxDateEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxDateEvent *) x)); -} -static void *_p_wxPaintEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxPaintEvent *) x)); -} -static void *_p_wxNcPaintEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxNcPaintEvent *) x)); -} -static void *_p_wxUpdateUIEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxUpdateUIEvent *) x)); -} -static void *_p_wxPaletteChangedEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxPaletteChangedEvent *) x)); -} -static void *_p_wxDisplayChangedEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxDisplayChangedEvent *) x)); -} -static void *_p_wxMouseCaptureChangedEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxMouseCaptureChangedEvent *) x)); -} -static void *_p_wxSysColourChangedEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxSysColourChangedEvent *) x)); -} -static void *_p_wxDropFilesEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxDropFilesEvent *) x)); -} -static void *_p_wxFocusEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxFocusEvent *) x)); -} -static void *_p_wxChildFocusEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxChildFocusEvent *) x)); -} -static void *_p_wxShowEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxShowEvent *) x)); -} -static void *_p_wxCommandEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxCommandEvent *) x)); -} -static void *_p_wxPyCommandEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxPyCommandEvent *) x)); -} -static void *_p_wxWindowDestroyEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowDestroyEvent *) x)); -} -static void *_p_wxNavigationKeyEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxNavigationKeyEvent *) x)); -} -static void *_p_wxKeyEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxKeyEvent *) x)); -} -static void *_p_wxScrollWinEventTo_p_wxEvent(void *x) { - return (void *)((wxEvent *) ((wxScrollWinEvent *) x)); -} -static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0, 0, 0, 0},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMSHTMLEvent", _p_wxMSHTMLEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizer", _p_wxSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenu", _p_wxMenuTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEvent", _p_wxEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIEHtmlWin", _p_wxIEHtmlWinTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxStdDialogButtonSizer", _p_wxStdDialogButtonSizerTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxImage", _p_wxImageTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxObject", 0, 0, 0, 0, 0, 0},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxWindow", _p_wxWindowTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject, 0, 0, 0, 0, 0},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_unsigned_char[] = {{"_p_unsigned_char", 0, "unsigned char *|byte *", 0, 0, 0, 0},{"_p_unsigned_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxIEHtmlWin", _p_wxIEHtmlWinTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxWindow", 0, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxMSHTMLEvent[] = {{"_p_wxMSHTMLEvent", 0, "wxMSHTMLEvent *", 0, 0, 0, 0},{"_p_wxMSHTMLEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxMSHTMLEvent", _p_wxMSHTMLEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", 0, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *|wxUIntPtr *", 0, 0, 0, 0},{"_p_unsigned_long", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_unsigned_int[] = {{"_p_unsigned_int", 0, "unsigned int *|time_t *", 0, 0, 0, 0},{"_p_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__unsigned_int[] = {{"_unsigned_int", 0, "unsigned int|std::size_t", 0, 0, 0, 0},{"_unsigned_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_form_ops_t[] = {{"_p_form_ops_t", 0, "enum form_ops_t *|form_ops_t *", 0, 0, 0, 0},{"_p_form_ops_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxDuplexMode[] = {{"_p_wxDuplexMode", 0, "enum wxDuplexMode *|wxDuplexMode *", 0, 0, 0, 0},{"_p_wxDuplexMode", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_char[] = {{"_p_char", 0, "char *", 0, 0, 0, 0},{"_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxIEHtmlWin[] = {{"_p_wxIEHtmlWin", 0, "wxIEHtmlWin *", 0, 0, 0, 0},{"_p_wxIEHtmlWin", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxInputStream[] = {{"_p_wxInputStream", 0, "wxInputStream *", 0, 0, 0, 0},{"_p_wxInputStream", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0, 0, 0, 0},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxIEHtmlWin", _p_wxIEHtmlWinTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxEvtHandler", 0, 0, 0, 0, 0, 0},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0, 0, 0, 0},{"_p_wxString", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__std__ptrdiff_t[] = {{"_std__ptrdiff_t", 0, "std::ptrdiff_t", 0, 0, 0, 0},{"_std__ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__ptrdiff_t[] = {{"_ptrdiff_t", 0, "ptrdiff_t", 0, 0, 0, 0},{"_ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxNotifyEvent[] = {{"_p_wxNotifyEvent", 0, "wxNotifyEvent *", 0, 0, 0, 0},{"_p_wxMSHTMLEvent", _p_wxMSHTMLEventTo_p_wxNotifyEvent, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0, 0, 0, 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMSHTMLEvent", _p_wxMSHTMLEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxEvent", 0, 0, 0, 0, 0, 0},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDateEvent", _p_wxDateEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent, 0, 0, 0, 0, 0},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_wxPaperSize[] = {{"_p_wxPaperSize", 0, "enum wxPaperSize *|wxPaperSize *", 0, 0, 0, 0},{"_p_wxPaperSize", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; -static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *|wxEventType *", 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; - -static swig_type_info *swig_types_initial[] = { -_swigt__p_wxObject, -_swigt__p_unsigned_char, -_swigt__p_wxWindow, -_swigt__p_wxMSHTMLEvent, -_swigt__p_wxCommandEvent, -_swigt__p_unsigned_long, -_swigt__p_unsigned_int, -_swigt__unsigned_int, -_swigt__p_form_ops_t, -_swigt__p_wxDuplexMode, -_swigt__p_char, -_swigt__p_wxIEHtmlWin, -_swigt__p_wxInputStream, -_swigt__p_wxEvtHandler, -_swigt__p_wxString, -_swigt__std__ptrdiff_t, -_swigt__ptrdiff_t, -_swigt__p_wxNotifyEvent, -_swigt__p_wxEvent, -_swigt__p_wxPaperSize, -_swigt__p_int, -0 -}; - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ - -static swig_const_info swig_const_table[] = { -{0, 0, 0, 0.0, 0, 0}}; - -#ifdef __cplusplus -} -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - - /* Python-specific SWIG API */ -#define SWIG_newvarlink() SWIG_Python_newvarlink() -#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) -#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) - - /* ----------------------------------------------------------------------------- - * global variable support code. - * ----------------------------------------------------------------------------- */ - - typedef struct swig_globalvar { - char *name; /* Name of global variable */ - PyObject *(*get_attr)(); /* Return the current value */ - int (*set_attr)(PyObject *); /* Set the value */ - struct swig_globalvar *next; - } swig_globalvar; - - typedef struct swig_varlinkobject { - PyObject_HEAD - swig_globalvar *vars; - } swig_varlinkobject; - - static PyObject * - swig_varlink_repr(swig_varlinkobject *v) { - v = v; - return PyString_FromString(""); - } - - static int - swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) { - swig_globalvar *var; - flags = flags; - fprintf(fp,"Swig global variables { "); - for (var = v->vars; var; var=var->next) { - fprintf(fp,"%s", var->name); - if (var->next) fprintf(fp,", "); - } - fprintf(fp," }\n"); - return 0; - } - - static PyObject * - swig_varlink_getattr(swig_varlinkobject *v, char *n) { - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - return (*var->get_attr)(); - } - var = var->next; - } - PyErr_SetString(PyExc_NameError,"Unknown C global variable"); - return NULL; - } - - static int - swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - return (*var->set_attr)(p); - } - var = var->next; - } - PyErr_SetString(PyExc_NameError,"Unknown C global variable"); - return 1; - } - - static PyTypeObject varlinktype = { - PyObject_HEAD_INIT(0) - 0, /* Number of items in variable part (ob_size) */ - (char *)"swigvarlink", /* Type name (tp_name) */ - sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */ - 0, /* Itemsize (tp_itemsize) */ - 0, /* Deallocator (tp_dealloc) */ - (printfunc) swig_varlink_print, /* Print (tp_print) */ - (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */ - (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */ - 0, /* tp_compare */ - (reprfunc) swig_varlink_repr, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - 0, /* tp_flags */ - 0, /* tp_doc */ -#if PY_VERSION_HEX >= 0x02000000 - 0, /* tp_traverse */ - 0, /* tp_clear */ -#endif -#if PY_VERSION_HEX >= 0x02010000 - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#endif -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#ifdef COUNT_ALLOCS - 0,0,0,0 /* tp_alloc -> tp_next */ -#endif - }; - - /* Create a variable linking object for use later */ - static PyObject * - SWIG_Python_newvarlink(void) { - swig_varlinkobject *result = 0; - result = PyMem_NEW(swig_varlinkobject,1); - varlinktype.ob_type = &PyType_Type; /* Patch varlinktype into a PyType */ - result->ob_type = &varlinktype; - result->vars = 0; - result->ob_refcnt = 0; - Py_XINCREF((PyObject *) result); - return ((PyObject*) result); - } - - static void - SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { - swig_varlinkobject *v; - swig_globalvar *gv; - v= (swig_varlinkobject *) p; - gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); - gv->name = (char *) malloc(strlen(name)+1); - strcpy(gv->name,name); - gv->get_attr = get_attr; - gv->set_attr = set_attr; - gv->next = v->vars; - v->vars = gv; - } - - /* ----------------------------------------------------------------------------- - * constants/methods manipulation - * ----------------------------------------------------------------------------- */ - - /* Install Constants */ - static void - SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { - PyObject *obj = 0; - size_t i; - for (i = 0; constants[i].type; i++) { - switch(constants[i].type) { - case SWIG_PY_INT: - obj = PyInt_FromLong(constants[i].lvalue); - break; - case SWIG_PY_FLOAT: - obj = PyFloat_FromDouble(constants[i].dvalue); - break; - case SWIG_PY_STRING: - if (constants[i].pvalue) { - obj = PyString_FromString((char *) constants[i].pvalue); - } else { - Py_INCREF(Py_None); - obj = Py_None; - } - break; - case SWIG_PY_POINTER: - obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); - break; - case SWIG_PY_BINARY: - obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); - break; - default: - obj = 0; - break; - } - if (obj) { - PyDict_SetItemString(d,constants[i].name,obj); - Py_DECREF(obj); - } - } - } - - /* -----------------------------------------------------------------------------*/ - /* Fix SwigMethods to carry the callback ptrs when needed */ - /* -----------------------------------------------------------------------------*/ - - static void - SWIG_Python_FixMethods(PyMethodDef *methods, - swig_const_info *const_table, - swig_type_info **types, - swig_type_info **types_initial) { - size_t i; - for (i = 0; methods[i].ml_name; ++i) { - char *c = methods[i].ml_doc; - if (c && (c = strstr(c, "swig_ptr: "))) { - int j; - swig_const_info *ci = 0; - char *name = c + 10; - for (j = 0; const_table[j].type; j++) { - if (strncmp(const_table[j].name, name, - strlen(const_table[j].name)) == 0) { - ci = &(const_table[j]); - break; - } - } - if (ci) { - size_t shift = (ci->ptype) - types; - swig_type_info *ty = types_initial[shift]; - size_t ldoc = (c - methods[i].ml_doc); - size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; - char *ndoc = (char*)malloc(ldoc + lptr + 10); - char *buff = ndoc; - void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue: (void *)(ci->lvalue); - strncpy(buff, methods[i].ml_doc, ldoc); - buff += ldoc; - strncpy(buff, "swig_ptr: ", 10); - buff += 10; - SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); - methods[i].ml_doc = ndoc; - } - } - } - } - - /* -----------------------------------------------------------------------------* - * Initialize type list - * -----------------------------------------------------------------------------*/ - -#if PY_MAJOR_VERSION < 2 - /* PyModule_AddObject function was introduced in Python 2.0. The following function - is copied out of Python/modsupport.c in python version 2.3.4 */ - static int - PyModule_AddObject(PyObject *m, char *name, PyObject *o) - { - PyObject *dict; - if (!PyModule_Check(m)) { - PyErr_SetString(PyExc_TypeError, - "PyModule_AddObject() needs module as first arg"); - return -1; - } - if (!o) { - PyErr_SetString(PyExc_TypeError, - "PyModule_AddObject() needs non-NULL value"); - return -1; - } - - dict = PyModule_GetDict(m); - if (dict == NULL) { - /* Internal error -- modules must have a dict! */ - PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", - PyModule_GetName(m)); - return -1; - } - if (PyDict_SetItemString(dict, name, o)) - return -1; - Py_DECREF(o); - return 0; - } -#endif - - static swig_type_info ** - SWIG_Python_SetTypeListHandle(swig_type_info **type_list_handle) { - static PyMethodDef swig_empty_runtime_method_table[] = { - { - NULL, NULL, 0, NULL - } - };/* Sentinel */ - - PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - swig_empty_runtime_method_table); - PyObject *pointer = PyCObject_FromVoidPtr((void *) type_list_handle, NULL); - if (pointer && module) { - PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); - } - return type_list_handle; - } - - static swig_type_info ** - SWIG_Python_LookupTypePointer(swig_type_info **type_list_handle) { - swig_type_info **type_pointer; - - /* first check if module already created */ - type_pointer = SWIG_Python_GetTypeListHandle(); - if (type_pointer) { - return type_pointer; - } else { - /* create a new module and variable */ - return SWIG_Python_SetTypeListHandle(type_list_handle); - } - } - -#ifdef __cplusplus -} -#endif - -/* -----------------------------------------------------------------------------* - * Partial Init method - * -----------------------------------------------------------------------------*/ - -#ifdef SWIG_LINK_RUNTIME -#ifdef __cplusplus -extern "C" -#endif -SWIGEXPORT(void *) SWIG_ReturnGlobalTypeList(void *); -#endif - -#ifdef __cplusplus -extern "C" -#endif -SWIGEXPORT(void) SWIG_init(void) { - static PyObject *SWIG_globals = 0; - static int typeinit = 0; - PyObject *m, *d; - int i; - if (!SWIG_globals) SWIG_globals = SWIG_newvarlink(); - - /* Fix SwigMethods to carry the callback ptrs when needed */ - SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_types_initial); - - m = Py_InitModule((char *) SWIG_name, SwigMethods); - d = PyModule_GetDict(m); - - if (!typeinit) { -#ifdef SWIG_LINK_RUNTIME - swig_type_list_handle = (swig_type_info **) SWIG_ReturnGlobalTypeList(swig_type_list_handle); -#else -# ifndef SWIG_STATIC_RUNTIME - swig_type_list_handle = SWIG_Python_LookupTypePointer(swig_type_list_handle); -# endif -#endif - for (i = 0; swig_types_initial[i]; i++) { - swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); - } - typeinit = 1; - } - SWIG_InstallConstants(d,swig_const_table); - - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2))); - } - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_NEWWINDOW2", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_NEWWINDOW2))); - } - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE))); - } - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_PROGRESSCHANGE", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE))); - } - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE))); - } - { - PyDict_SetItemString(d,"wxEVT_COMMAND_MSHTML_TITLECHANGE", SWIG_From_int((int)(wxEVT_COMMAND_MSHTML_TITLECHANGE))); - } - { - PyDict_SetItemString(d,"IEHTML_REFRESH_NORMAL", SWIG_From_int((int)(wxIEHTML_REFRESH_NORMAL))); - } - { - PyDict_SetItemString(d,"IEHTML_REFRESH_IFEXPIRED", SWIG_From_int((int)(wxIEHTML_REFRESH_IFEXPIRED))); - } - { - PyDict_SetItemString(d,"IEHTML_REFRESH_CONTINUE", SWIG_From_int((int)(wxIEHTML_REFRESH_CONTINUE))); - } - { - PyDict_SetItemString(d,"IEHTML_REFRESH_COMPLETELY", SWIG_From_int((int)(wxIEHTML_REFRESH_COMPLETELY))); - } -} - diff --git a/wxPython/contrib/iewin/readme.txt b/wxPython/contrib/iewin/readme.txt deleted file mode 100644 index cbc8e593dd..0000000000 --- a/wxPython/contrib/iewin/readme.txt +++ /dev/null @@ -1,158 +0,0 @@ -Lindsay Mathieson -Email : - -This is prelimanary stuff - the controls need extra methods and events etc, -feel free to email with suggestions &/or patches. - -Tested with wxWindows 2.3.2. -Built with MS Visual C++ 6.0 & DevStudio -Minor use of templates and STL - ------------------------------------------------------------ -This sample illustrates using wxActiveX and wxIEHtmlWin too: -1. Host an arbitrary ActiveX control -2. Specifically host the MSHTML Control - - -wxActiveX: -========== -wxActiveX is used to host and siplay any activeX control, all the wxWindows developer -needs to know is either the ProgID or CLSID of the control in question. - -Derived From: -- wxWindow - -Include Files: -- wxactivex.h - -Source Files: -- wxactivex.cpp - -Event Handling: ---------------- -- EVT_ACTIVEX(id, eventName, handler) (handler = void OnActiveX(wxActiveXEvent& event)) -class wxActiveXEvent : public wxNotifyEvent - int ParamCount() const; - wxVariant operator[] (int idx) const; // parameter by index - wxVariant& operator[] (int idx); - wxVariant operator[] (wxString name) const; // named parameters - wxVariant& operator[] (wxString name); - - -Members: --------- -wxActiveX::wxActiveX(wxWindow * parent, REFCLSID clsid, wxWindowID id = -1); -- Creates a activeX control identified by clsid -e.g - wxFrame *frame = new wxFrame(this, -1, "test"); - wxActiveX *X = new wxActiveX(frame, CLSID_WebBrowser); - -wxActiveX::wxActiveX(wxWindow * parent, wxString progId, wxWindowID id = -1); -- Creates a activeX control identified by progId -e.g. - wxFrame *frame = new wxFrame(this, -1, "test"); - wxActiveX *X = new wxActiveX(frame, "MSCAL.Calendar"); - - -wxActiveX::~wxActiveX(); -- Destroys the control -- disconnects all connection points - -HRESULT wxActiveX::ConnectAdvise(REFIID riid, IUnknown *eventSink); -- Connects a event sink. Connections are automaticlly diconnected in the destructor -e.g. - FS_DWebBrowserEvents2 *events = new FS_DWebBrowserEvents2(iecontrol); - hret = iecontrol->ConnectAdvise(DIID_DWebBrowserEvents2, events); - if (! SUCCEEDED(hret)) - delete events; - - -Sample Events: --------------- -EVT_ACTIVEX(ID_MSHTML, "BeforeNavigate2", OnMSHTMLBeforeNavigate2X) - -void wxIEFrame::OnMSHTMLBeforeNavigate2X(wxActiveXEvent& event) -{ - wxString url = event["Url"]; - - int rc = wxMessageBox(url, "Allow open url ?", wxYES_NO); - - if (rc != wxYES) - event["Cancel"] = true; -}; - - -wxIEHtmlWin: -============ -wxIEHtmlWin is a specialisation of the wxActiveX control for hosting the MSHTML control. - -Derived From: -- wxActiveX -- wxWindow - -Event Handling: ---------------- -- class wxMSHTMLEvent - -- EVT_MSHTML_BEFORENAVIGATE2 -* url = event.m_text1 -* event.Veto() to cancel -Generated before an attempt to browse a new url - -- EVT_MSHTML_NEWWINDOW2 -* event.Veto() to cancel -Generated when the control is asked create a new window (e.g a popup) - -- EVT_MSHTML_DOCUMENTCOMPLETE -* url = event.m_text1 -Generated after the document has finished loading - -- EVT_MSHTML_PROGRESSCHANGE -* event.m_long1 = progress so far -* event.m_long2 = max range of progress - -- EVT_MSHTML_STATUSTEXTCHANGE -* status = event.m_text1 - -- EVT_MSHTML_TITLECHANGE -* title = event.m_text1 - -Members: --------- -wxIEHtmlWin::wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1); -- Constructs and initialises the MSHTML control -- LoadUrl("about:blank") is called - -wxIEHtmlWin::~wxIEHtmlWin(); -- destroys the control - -void wxIEHtmlWin::LoadUrl(const wxString&); -- Attempts to browse to the url, the control uses its internal (MS) - network streams - -bool wxIEHtmlWin::LoadString(wxString html); -- Load the passed HTML string - -bool wxIEHtmlWin::LoadStream(istream *strm); -- load the passed HTML stream. The control takes ownership of - the pointer, deleting when finished. - -void wxIEHtmlWin::SetCharset(wxString charset); -- Sets the charset of the loaded document - -void wxIEHtmlWin::SetEditMode(bool seton); -- Sets edit mode. - NOTE: This does work, but is bare bones - we need more events exposed before - this is usable as an HTML editor. - -bool wxIEHtmlWin::GetEditMode(); -- Returns the edit mode setting - -wxString wxIEHtmlWin::GetStringSelection(bool asHTML = false); -- Returns the currently selected text (plain or HTML text) - -wxString GetText(bool asHTML = false); -- Returns the body text (plain or HTML text) - -Lindsay Mathieson -Email : diff --git a/wxPython/contrib/iewin/wxactivex.cpp b/wxPython/contrib/iewin/wxactivex.cpp deleted file mode 100644 index ca8f66394a..0000000000 --- a/wxPython/contrib/iewin/wxactivex.cpp +++ /dev/null @@ -1,1952 +0,0 @@ -#include "wxActiveX.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -// Depending on compilation mode, the wx headers may have undef'd -// this, but in this case we need it so the virtual method in -// FrameSite will match what is in oleidl.h. -#ifndef GetObject - #ifdef _UNICODE - #define GetObject GetObjectW - #else - #define GetObject GetObjectA - #endif -#endif - - -////////////////////////////////////////////////////////////////////// -BEGIN_EVENT_TABLE(wxActiveX, wxWindow) - EVT_SIZE(wxActiveX::OnSize) - EVT_PAINT(wxActiveX::OnPaint) - EVT_MOUSE_EVENTS(wxActiveX::OnMouse) - EVT_SET_FOCUS(wxActiveX::OnSetFocus) - EVT_KILL_FOCUS(wxActiveX::OnKillFocus) -END_EVENT_TABLE() - -class wxActiveX; - -class FrameSite : - public IOleClientSite, - public IOleInPlaceSiteEx, - public IOleInPlaceFrame, - public IOleItemContainer, - public IDispatch, - public IOleCommandTarget, - public IOleDocumentSite, - public IAdviseSink, - public IOleControlSite -{ -private: - DECLARE_OLE_UNKNOWN(FrameSite); - -public: - FrameSite(wxActiveX * win); - virtual ~FrameSite(); - - //IOleWindow - STDMETHODIMP GetWindow(HWND*); - STDMETHODIMP ContextSensitiveHelp(BOOL); - - //IOleInPlaceUIWindow - STDMETHODIMP GetBorder(LPRECT); - STDMETHODIMP RequestBorderSpace(LPCBORDERWIDTHS); - STDMETHODIMP SetBorderSpace(LPCBORDERWIDTHS); - STDMETHODIMP SetActiveObject(IOleInPlaceActiveObject*, LPCOLESTR); - - //IOleInPlaceFrame - STDMETHODIMP InsertMenus(HMENU, LPOLEMENUGROUPWIDTHS); - STDMETHODIMP SetMenu(HMENU, HOLEMENU, HWND); - STDMETHODIMP RemoveMenus(HMENU); - STDMETHODIMP SetStatusText(LPCOLESTR); - STDMETHODIMP EnableModeless(BOOL); - STDMETHODIMP TranslateAccelerator(LPMSG, WORD); - - //IOleInPlaceSite - STDMETHODIMP CanInPlaceActivate(); - STDMETHODIMP OnInPlaceActivate(); - STDMETHODIMP OnUIActivate(); - STDMETHODIMP GetWindowContext(IOleInPlaceFrame**, IOleInPlaceUIWindow**, - LPRECT, LPRECT, LPOLEINPLACEFRAMEINFO); - STDMETHODIMP Scroll(SIZE); - STDMETHODIMP OnUIDeactivate(BOOL); - STDMETHODIMP OnInPlaceDeactivate(); - STDMETHODIMP DiscardUndoState(); - STDMETHODIMP DeactivateAndUndo(); - STDMETHODIMP OnPosRectChange(LPCRECT); - - //IOleInPlaceSiteEx - STDMETHODIMP OnInPlaceActivateEx(BOOL*, DWORD); - STDMETHODIMP OnInPlaceDeactivateEx(BOOL); - STDMETHODIMP RequestUIActivate(); - - //IOleClientSite - STDMETHODIMP SaveObject(); - STDMETHODIMP GetMoniker(DWORD, DWORD, IMoniker**); - STDMETHODIMP GetContainer(LPOLECONTAINER FAR*); - STDMETHODIMP ShowObject(); - STDMETHODIMP OnShowWindow(BOOL); - STDMETHODIMP RequestNewObjectLayout(); - - //IOleControlSite - STDMETHODIMP OnControlInfoChanged(); - STDMETHODIMP LockInPlaceActive(BOOL); - STDMETHODIMP GetExtendedControl(IDispatch**); - STDMETHODIMP TransformCoords(POINTL*, POINTF*, DWORD); - STDMETHODIMP TranslateAccelerator(LPMSG, DWORD); - STDMETHODIMP OnFocus(BOOL); - STDMETHODIMP ShowPropertyFrame(); - - //IOleCommandTarget - STDMETHODIMP QueryStatus(const GUID*, ULONG, OLECMD[], OLECMDTEXT*); - STDMETHODIMP Exec(const GUID*, DWORD, DWORD, VARIANTARG*, VARIANTARG*); - - //IParseDisplayName - STDMETHODIMP ParseDisplayName(IBindCtx*, LPOLESTR, ULONG*, IMoniker**); - - //IOleContainer - STDMETHODIMP EnumObjects(DWORD, IEnumUnknown**); - STDMETHODIMP LockContainer(BOOL); - - //IOleItemContainer - STDMETHODIMP GetObject(LPOLESTR, DWORD, IBindCtx*, REFIID, void**); - STDMETHODIMP GetObjectStorage(LPOLESTR, IBindCtx*, REFIID, void**); - STDMETHODIMP IsRunning(LPOLESTR); - - //IDispatch - STDMETHODIMP GetIDsOfNames(REFIID, OLECHAR**, unsigned int, LCID, DISPID*); - STDMETHODIMP GetTypeInfo(unsigned int, LCID, ITypeInfo**); - STDMETHODIMP GetTypeInfoCount(unsigned int*); - STDMETHODIMP Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); - - //IAdviseSink - void STDMETHODCALLTYPE OnDataChange(FORMATETC*, STGMEDIUM*); - void STDMETHODCALLTYPE OnViewChange(DWORD, LONG); - void STDMETHODCALLTYPE OnRename(IMoniker*); - void STDMETHODCALLTYPE OnSave(); - void STDMETHODCALLTYPE OnClose(); - - // IOleDocumentSite - HRESULT STDMETHODCALLTYPE ActivateMe(IOleDocumentView __RPC_FAR *pViewToActivate); - -protected: - - wxActiveX * m_window; - - HDC m_hDCBuffer; - HWND m_hWndParent; - - bool m_bSupportsWindowlessActivation; - bool m_bInPlaceLocked; - bool m_bInPlaceActive; - bool m_bUIActive; - bool m_bWindowless; - - - - LCID m_nAmbientLocale; - COLORREF m_clrAmbientForeColor; - COLORREF m_clrAmbientBackColor; - bool m_bAmbientShowHatching; - bool m_bAmbientShowGrabHandles; - bool m_bAmbientAppearance; -}; - -DEFINE_OLE_TABLE(FrameSite) - OLE_INTERFACE(IID_IUnknown, IOleClientSite) - - OLE_IINTERFACE(IOleClientSite) - - OLE_INTERFACE(IID_IOleWindow, IOleInPlaceSite) - OLE_IINTERFACE(IOleInPlaceSite) - OLE_IINTERFACE(IOleInPlaceSiteEx) - - //OLE_IINTERFACE(IOleWindow) - OLE_IINTERFACE(IOleInPlaceUIWindow) - OLE_IINTERFACE(IOleInPlaceFrame) - - OLE_IINTERFACE(IParseDisplayName) - OLE_IINTERFACE(IOleContainer) - OLE_IINTERFACE(IOleItemContainer) - - OLE_IINTERFACE(IDispatch) - - OLE_IINTERFACE(IOleCommandTarget) - - OLE_IINTERFACE(IOleDocumentSite) - - OLE_IINTERFACE(IAdviseSink) - - OLE_IINTERFACE(IOleControlSite) -END_OLE_TABLE; - - -wxActiveX::wxActiveX(wxWindow * parent, REFCLSID clsid, wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) : -wxWindow(parent, id, pos, size, style, name) -{ - m_bAmbientUserMode = true; - m_docAdviseCookie = 0; - CreateActiveX(clsid); -} - -wxActiveX::wxActiveX(wxWindow * parent, wxString progId, wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) : - wxWindow(parent, id, pos, size, style, name) -{ - m_bAmbientUserMode = true; - m_docAdviseCookie = 0; - CreateActiveX((LPOLESTR) (const wchar_t *) progId.wc_str(wxConvUTF8)); -} - -wxActiveX::~wxActiveX() -{ - // disconnect connection points - wxOleConnectionArray::iterator it = m_connections.begin(); - while (it != m_connections.end()) - { - wxOleConnectionPoint& cp = it->first; - cp->Unadvise(it->second); - - it++; - }; - m_connections.clear(); - - if (m_oleInPlaceObject.Ok()) - { - m_oleInPlaceObject->InPlaceDeactivate(); - m_oleInPlaceObject->UIDeactivate(); - } - - - if (m_oleObject.Ok()) - { - if (m_docAdviseCookie != 0) - m_oleObject->Unadvise(m_docAdviseCookie); - - m_oleObject->DoVerb(OLEIVERB_HIDE, NULL, m_clientSite, 0, (HWND) GetHWND(), NULL); - m_oleObject->Close(OLECLOSE_NOSAVE); - m_oleObject->SetClientSite(NULL); - } -} - -void wxActiveX::CreateActiveX(REFCLSID clsid) -{ - SetTransparent(); - - HRESULT hret; - - //////////////////////////////////////////////////////// - // FrameSite - FrameSite *frame = new FrameSite(this); - // oleClientSite - hret = m_clientSite.QueryInterface(IID_IOleClientSite, (IDispatch *) frame); - wxASSERT(SUCCEEDED(hret)); - // adviseSink - wxAutoOleInterface adviseSink(IID_IAdviseSink, (IDispatch *) frame); - wxASSERT(adviseSink.Ok()); - - - // // Create Object, get IUnknown interface - m_ActiveX.CreateInstance(clsid, IID_IUnknown); - wxASSERT(m_ActiveX.Ok()); - - // Type Info - GetTypeInfo(); - - // Get IOleObject interface - hret = m_oleObject.QueryInterface(IID_IOleObject, m_ActiveX); - wxASSERT(SUCCEEDED(hret)); - - // get IViewObject Interface - hret = m_viewObject.QueryInterface(IID_IViewObject, m_ActiveX); - wxASSERT(SUCCEEDED(hret)); - - // document advise - m_docAdviseCookie = 0; - hret = m_oleObject->Advise(adviseSink, &m_docAdviseCookie); - WXOLE_WARN(hret, "m_oleObject->Advise(adviseSink, &m_docAdviseCookie),\"Advise\")"); - m_oleObject->SetHostNames(L"wxActiveXContainer", NULL); - OleSetContainedObject(m_oleObject, TRUE); - OleRun(m_oleObject); - - - // Get IOleInPlaceObject interface - hret = m_oleInPlaceObject.QueryInterface(IID_IOleInPlaceObject, m_ActiveX); - wxASSERT(SUCCEEDED(hret)); - - // status - DWORD dwMiscStatus; - m_oleObject->GetMiscStatus(DVASPECT_CONTENT, &dwMiscStatus); - wxASSERT(SUCCEEDED(hret)); - - // set client site first ? - if (dwMiscStatus & OLEMISC_SETCLIENTSITEFIRST) - m_oleObject->SetClientSite(m_clientSite); - - - // stream init - wxAutoOleInterface - pPersistStreamInit(IID_IPersistStreamInit, m_oleObject); - - if (pPersistStreamInit.Ok()) - { - hret = pPersistStreamInit->InitNew(); - WXOLE_WARN(hret, "CreateActiveX::pPersistStreamInit->InitNew()"); - }; - - if (! (dwMiscStatus & OLEMISC_SETCLIENTSITEFIRST)) - m_oleObject->SetClientSite(m_clientSite); - - - int w, h; - GetClientSize(&w, &h); - RECT posRect; - posRect.left = 0; - posRect.top = 0; - posRect.right = w; - posRect.bottom = h; - - m_oleObjectHWND = 0; - - if (m_oleInPlaceObject.Ok()) - { - hret = m_oleInPlaceObject->GetWindow(&m_oleObjectHWND); - WXOLE_WARN(hret, "m_oleInPlaceObject->GetWindow(&m_oleObjectHWND)"); - if (SUCCEEDED(hret)) - ::SetActiveWindow(m_oleObjectHWND); - }; - - - if (! (dwMiscStatus & OLEMISC_INVISIBLEATRUNTIME)) - { - if (w > 0 && h > 0 && m_oleInPlaceObject.Ok()) - m_oleInPlaceObject->SetObjectRects(&posRect, &posRect); - - hret = m_oleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, m_clientSite, 0, (HWND)GetHWND(), &posRect); - hret = m_oleObject->DoVerb(OLEIVERB_SHOW, 0, m_clientSite, 0, (HWND)GetHWND(), &posRect); - }; - - if (! m_oleObjectHWND && m_oleInPlaceObject.Ok()) - { - hret = m_oleInPlaceObject->GetWindow(&m_oleObjectHWND); - WXOLE_WARN(hret, "m_oleInPlaceObject->GetWindow(&m_oleObjectHWND)"); - }; - - if (m_oleObjectHWND) - { - ::SetActiveWindow(m_oleObjectHWND); - ::ShowWindow(m_oleObjectHWND, SW_SHOW); - }; -} - -void wxActiveX::CreateActiveX(LPOLESTR progId) -{ - CLSID clsid; - if (CLSIDFromProgID(progId, &clsid) != S_OK) - return; - - CreateActiveX(clsid); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Case Insensitive Map of Event names to eventTypes -// created dynamically at run time in: -// EVT_ACTIVEX(eventName, id, fn) -// we map the pointer to them so that: -// const wxEventType& RegisterActiveXEvent(wxString eventName); -// can return a const reference, which is neccessary for event tables -// probably should use a wxWindows hash table here, but I'm lazy ... -struct less_wxStringI -{ - bool operator()(const wxString& x, const wxString& y) const - { - return x.CmpNoCase(y) < 0; - }; -}; - -typedef map ActiveXNamedEventMap; -static ActiveXNamedEventMap sg_NamedEventMap; - -const wxEventType& RegisterActiveXEvent(const wxChar *eventName) -{ - wxString ev = eventName; - ActiveXNamedEventMap::iterator it = sg_NamedEventMap.find(ev); - if (it == sg_NamedEventMap.end()) - { - wxEventType *et = new wxEventType(wxNewEventType()); - sg_NamedEventMap[ev] = et; - - return *et; - }; - - return *(it->second); -}; - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Map of Event DISPID's to eventTypes -// created dynamically at run time in: -// EVT_ACTIVEX(eventName, id, fn) -// we map the pointer to them so that: -// const wxEventType& RegisterActiveXEvent(wxString eventName); -// can return a const reference, which is neccessary for event tables - -typedef map ActiveXDISPIDEventMap; -static ActiveXDISPIDEventMap sg_dispIdEventMap; - -const wxEventType& RegisterActiveXEvent(DISPID event) -{ - ActiveXDISPIDEventMap::iterator it = sg_dispIdEventMap.find(event); - if (it == sg_dispIdEventMap.end()) - { - wxEventType *et = new wxEventType(wxNewEventType()); - sg_dispIdEventMap[event] = et; - - return *et; - }; - - return *(it->second); -}; - -// one off class for automatic freeing of activeX eventtypes -class ActiveXEventMapFlusher -{ -public: - ~ActiveXEventMapFlusher() - { - // Named events - ActiveXNamedEventMap::iterator it = sg_NamedEventMap.end(); - while (it != sg_NamedEventMap.end()) - { - delete it->second; - it++; - }; - - // DISPID events - ActiveXDISPIDEventMap::iterator dit = sg_dispIdEventMap.end(); - while (dit != sg_dispIdEventMap.end()) - { - delete dit->second; - dit++; - }; - }; -}; - -static ActiveXEventMapFlusher s_dummyActiveXEventMapFlusher; - - -////////////////////////////////////////////////////// -bool MSWVariantToVariant(VARIANTARG& va, wxVariant& vx) -{ - switch(va.vt) - { - case VT_VARIANT | VT_BYREF: - return MSWVariantToVariant(*va.pvarVal, vx); - - case VT_I2: - case VT_I4: - vx = (long) va.iVal; - return true; - - case VT_I2 | VT_BYREF: - case VT_I4 | VT_BYREF: - vx = (long) *va.piVal; - return true; - - case VT_BSTR: - vx = wxString(va.bstrVal); - return true; - - case VT_BSTR | VT_BYREF: - vx = wxString(*va.pbstrVal); - return true; - - case VT_BOOL: - vx = (va.boolVal != FALSE); - return true; - - case VT_BOOL | VT_BYREF: - vx = (*va.pboolVal != FALSE); - return true; - - default: - vx.MakeNull(); - return false; - }; -}; - -bool VariantToMSWVariant(wxVariant& vx, VARIANTARG& va) -{ - switch(va.vt) - { - case VT_VARIANT | VT_BYREF: - return VariantToMSWVariant(vx, va); - - case VT_I2: - case VT_I4: - va.iVal = (long) vx; - return true; - - case VT_I2 | VT_BYREF: - case VT_I4 | VT_BYREF: - *va.piVal = (long) vx; - return true; - - case VT_BOOL: - va.boolVal = ((bool) vx) ? TRUE : FALSE; - return true; - - case VT_BOOL | VT_BYREF: - *va.pboolVal = ((bool) vx) ? TRUE : FALSE; - return true; - - default: - return false; - }; -}; - -class wxActiveXEvents : public IDispatch -{ -private: - DECLARE_OLE_UNKNOWN(wxActiveXEvents); - - - wxActiveX *m_activeX; - -public: - wxActiveXEvents(wxActiveX *ax) : m_activeX(ax) {} - virtual ~wxActiveXEvents() - { - } - - //IDispatch - STDMETHODIMP GetIDsOfNames(REFIID r, OLECHAR** o, unsigned int i, LCID l, DISPID* d) - { - return E_NOTIMPL; - }; - - STDMETHODIMP GetTypeInfo(unsigned int i, LCID l, ITypeInfo** t) - { - return E_NOTIMPL; - }; - - STDMETHODIMP GetTypeInfoCount(unsigned int* i) - { - return E_NOTIMPL; - }; - - - void DispatchEvent(int eventIdx, const wxEventType& eventType, DISPPARAMS * pDispParams) - { - wxASSERT(eventIdx >= 0 && eventIdx < int(m_activeX->m_events.size())); - wxActiveX::FuncX &func = m_activeX->m_events[eventIdx]; - - wxActiveXEvent event; - event.SetId(m_activeX->GetId()); - event.SetEventType(eventType); - event.m_params.NullList(); - event.m_params.SetName(func.name); - - // arguments - if (pDispParams) - { - // cdecl call - // sometimes the pDispParams does not match the param info for a activex control - int nArg = wxMin(func.params.size(), pDispParams->cArgs); - for (int i = nArg - 1; i >= 0; i--) - { - VARIANTARG& va = pDispParams->rgvarg[i]; - wxActiveX::ParamX &px = func.params[nArg - i - 1]; - wxVariant vx; - - vx.SetName(px.name); - MSWVariantToVariant(va, vx); - event.m_params.Append(vx); - }; - }; - - if (func.hasOut) - { - int nArg = wxMin(func.params.size(), pDispParams->cArgs); - m_activeX->GetParent()->ProcessEvent(event); - for (int i = 0; i < nArg; i++) - { - VARIANTARG& va = pDispParams->rgvarg[i]; - wxActiveX::ParamX &px = func.params[nArg - i - 1]; - - if (px.IsOut()) - { - wxVariant& vx = event.m_params[nArg - i - 1]; - - VariantToMSWVariant(vx, va); - }; - }; - } - else - m_activeX->GetParent()->AddPendingEvent(event); - - }; - - STDMETHODIMP Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS * pDispParams, - VARIANT * pVarResult, EXCEPINFO * pExcepInfo, - unsigned int * puArgErr) - { - if (wFlags & (DISPATCH_PROPERTYGET | DISPATCH_PROPERTYPUT | DISPATCH_PROPERTYPUTREF)) - return E_NOTIMPL; - - wxASSERT(m_activeX); - - // map dispid to m_eventsIdx - wxActiveX::MemberIdList::iterator mid = m_activeX->m_eventsIdx.find((MEMBERID) dispIdMember); - if (mid == m_activeX->m_eventsIdx.end()) - return S_OK; - - int funcIdx = mid->second; - wxActiveX::FuncX &func = m_activeX->m_events[funcIdx]; - - - // try to find dispid event - ActiveXDISPIDEventMap::iterator dit = sg_dispIdEventMap.find(dispIdMember); - if (dit != sg_dispIdEventMap.end()) - { - // Dispatch Event - DispatchEvent(funcIdx, *(dit->second), pDispParams); - return S_OK; - }; - - // try named event - ActiveXNamedEventMap::iterator nit = sg_NamedEventMap.find(func.name); - if (nit == sg_NamedEventMap.end()) - return S_OK; - - // Dispatch Event - DispatchEvent(funcIdx, *(nit->second), pDispParams); - return S_OK; - } -}; - - -DEFINE_OLE_TABLE(wxActiveXEvents) - OLE_IINTERFACE(IUnknown) - OLE_INTERFACE(IID_IDispatch, IDispatch) -END_OLE_TABLE; - -wxString wxActiveXEvent::EventName() -{ - return m_params.GetName(); -}; - -int wxActiveXEvent::ParamCount() const -{ - return m_params.GetCount(); -}; - -wxString wxActiveXEvent::ParamType(int idx) -{ - wxASSERT(idx >= 0 && idx < m_params.GetCount()); - - return m_params[idx].GetType(); -}; - -wxString wxActiveXEvent::ParamName(int idx) -{ - wxASSERT(idx >= 0 && idx < m_params.GetCount()); - - return m_params[idx].GetName(); -}; - -static wxVariant nullVar; - -wxVariant wxActiveXEvent::operator[] (int idx) const -{ - return (wxVariant&) operator[] (idx); -}; - -wxVariant& wxActiveXEvent::operator[] (int idx) -{ - wxASSERT(idx >= 0 && idx < ParamCount()); - - return m_params[idx]; -}; - -wxVariant wxActiveXEvent::operator[] (wxString name) const -{ - return (wxVariant&) operator[] (name); -}; - -wxVariant& wxActiveXEvent::operator[] (wxString name) -{ - for (int i = 0; i < m_params.GetCount(); i++) - { - if (name.CmpNoCase(m_params[i].GetName()) == 0) - return m_params[i]; - }; - - wxString err = wxT("wxActiveXEvent::operator[] invalid name <") + name + wxT(">"); - err += wxT("\r\nValid Names = :\r\n"); - for (i = 0; i < m_params.GetCount(); i++) - { - err += m_params[i].GetName(); - err += wxT("\r\n"); - }; - - wxASSERT_MSG(false, err); - - return nullVar; -}; - -void wxActiveX::GetTypeInfo() -{ - /* - We are currently only interested in the IDispatch interface - to the control. For dual interfaces (TypeKind = TKIND_INTERFACE) - we should drill down through the inheritance - (using TYPEATTR->cImplTypes) and GetRefTypeOfImplType(n) - and retrieve all the func names etc that way, then generate a C++ - header file for it. - - But we don't do this and probably never will, so if we have a DUAL - interface then we query for the IDispatch - via GetRefTypeOfImplType(-1). - */ - - HRESULT hret = 0; - - // get type info via class info - wxAutoOleInterface classInfo(IID_IProvideClassInfo, m_ActiveX); - if (! classInfo.Ok()) - return; - - // type info - wxAutoOleInterface typeInfo; - hret = classInfo->GetClassInfo(typeInfo.GetRef()); - if (! typeInfo.Ok()) - return; - - // TYPEATTR - TYPEATTR *ta = NULL; - hret = typeInfo->GetTypeAttr(&ta); - if (! ta) - return; - - // this should be a TKIND_COCLASS - wxASSERT(ta->typekind == TKIND_COCLASS); - - // iterate contained interfaces - for (int i = 0; i < ta->cImplTypes; i++) - { - HREFTYPE rt = 0; - - // get dispatch type info handle - hret = typeInfo->GetRefTypeOfImplType(i, &rt); - if (! SUCCEEDED(hret)) - continue; - - // get dispatch type info interface - wxAutoOleInterface ti; - hret = typeInfo->GetRefTypeInfo(rt, ti.GetRef()); - if (! ti.Ok()) - continue; - - // check if default event sink - bool defEventSink = false; - int impTypeFlags = 0; - typeInfo->GetImplTypeFlags(i, &impTypeFlags); - - if (impTypeFlags & IMPLTYPEFLAG_FDEFAULT) - { - if (impTypeFlags & IMPLTYPEFLAG_FSOURCE) - { - WXOLE_TRACEOUT(wxT("Default Event Sink")); - defEventSink = true; - } - else - { - WXOLE_TRACEOUT(wxT("Default Interface")); - } - }; - - - // process - GetTypeInfo(ti, defEventSink); - }; - - - // free - typeInfo->ReleaseTypeAttr(ta); -}; - -void wxActiveX::GetTypeInfo(ITypeInfo *ti, bool defEventSink) -{ - ti->AddRef(); - wxAutoOleInterface typeInfo(ti); - - // TYPEATTR - TYPEATTR *ta = NULL; - HRESULT hret = typeInfo->GetTypeAttr(&ta); - if (! ta) - return; - - if (ta->typekind == TKIND_DISPATCH) - { - WXOLE_TRACEOUT(wxT("GUID = ") << GetIIDName(ta->guid).c_str()); - - if (defEventSink) - { - wxActiveXEvents *disp = new wxActiveXEvents(this); - ConnectAdvise(ta->guid, disp); - }; - - - // Get Function Names - for (int i = 0; i < ta->cFuncs; i++) - { - FUNCDESC FAR *fd = NULL; - - hret = typeInfo->GetFuncDesc(i, &fd); - if (! fd) - continue; - - BSTR anames[1] = {NULL}; - unsigned int n = 0; - - hret = typeInfo->GetNames(fd->memid, anames, 1, &n); - - if (anames[0]) - { - wxString name = anames[0]; - - WXOLE_TRACEOUT(wxT("Name ") << i << wxT(" = ") << name.c_str()); - SysFreeString(anames[0]); - - if (defEventSink) - { - FuncX func; - func.name = name; - func.memid = fd->memid; - func.hasOut = false; - - // get Param Names - unsigned int maxPNames = fd->cParams + 1; - unsigned int nPNames = 0; - BSTR *pnames = new BSTR[maxPNames]; - - hret = typeInfo->GetNames(fd->memid, pnames, maxPNames, &nPNames); - wxASSERT(int(nPNames) >= fd->cParams + 1); - - SysFreeString(pnames[0]); - // params - for (int p = 0; p < fd->cParams; p++) - { - ParamX param; - - param.flags = fd->lprgelemdescParam[p].idldesc.wIDLFlags; - param.vt = fd->lprgelemdescParam[p].tdesc.vt; - param.isPtr = (param.vt == VT_PTR); - param.isSafeArray = (param.vt == VT_SAFEARRAY); - if (param.isPtr || param.isSafeArray) - param.vt = fd->lprgelemdescParam[p].tdesc.lptdesc->vt; - - param.name = pnames[p + 1]; - SysFreeString(pnames[p + 1]); - - func.hasOut |= (param.IsOut() || param.isPtr); - func.params.push_back(param); - }; - delete [] pnames; - - m_events.push_back(func); - m_eventsIdx[fd->memid] = m_events.size() - 1; - }; - }; - - typeInfo->ReleaseFuncDesc(fd); - }; - } - - typeInfo->ReleaseTypeAttr(ta); -}; - -/////////////////////////////////////////////// -// Type Info exposure -const wxActiveX::FuncX& wxActiveX::GetEvent(int idx) const -{ - wxASSERT(idx >= 0 && idx < GetEventCount()); - - return m_events[idx]; -}; - -/////////////////////////////////////////////// - -HRESULT wxActiveX::ConnectAdvise(REFIID riid, IUnknown *events) -{ - wxOleConnectionPoint cp; - DWORD adviseCookie = 0; - - wxAutoOleInterface cpContainer(IID_IConnectionPointContainer, m_ActiveX); - if (! cpContainer.Ok()) - return E_FAIL; - - HRESULT hret = cpContainer->FindConnectionPoint(riid, cp.GetRef()); - if (! SUCCEEDED(hret)) - return hret; - - hret = cp->Advise(events, &adviseCookie); - - if (SUCCEEDED(hret)) - m_connections.push_back(wxOleConnection(cp, adviseCookie)); - - return hret; -}; - -HRESULT wxActiveX::AmbientPropertyChanged(DISPID dispid) -{ - wxAutoOleInterface oleControl(IID_IOleControl, m_oleObject); - - if (oleControl.Ok()) - return oleControl->OnAmbientPropertyChange(dispid); - else - return S_FALSE; -}; - -#define HIMETRIC_PER_INCH 2540 -#define MAP_PIX_TO_LOGHIM(x,ppli) MulDiv(HIMETRIC_PER_INCH, (x), (ppli)) - -static void PixelsToHimetric(SIZEL &sz) -{ - static int logX = 0; - static int logY = 0; - - if (logY == 0) - { - // initaliase - HDC dc = GetDC(NULL); - logX = GetDeviceCaps(dc, LOGPIXELSX); - logY = GetDeviceCaps(dc, LOGPIXELSY); - ReleaseDC(NULL, dc); - }; - -#define HIMETRIC_INCH 2540 -#define CONVERT(x, logpixels) MulDiv(HIMETRIC_INCH, (x), (logpixels)) - - sz.cx = CONVERT(sz.cx, logX); - sz.cy = CONVERT(sz.cy, logY); - -#undef CONVERT -#undef HIMETRIC_INCH -} - - -void wxActiveX::OnSize(wxSizeEvent& event) -{ - int w, h; - GetClientSize(&w, &h); - - RECT posRect; - posRect.left = 0; - posRect.top = 0; - posRect.right = w; - posRect.bottom = h; - - if (w <= 0 && h <= 0) - return; - - // extents are in HIMETRIC units - if (m_oleObject.Ok()) - { - SIZEL sz = {w, h}; - PixelsToHimetric(sz); - - SIZEL sz2; - - m_oleObject->GetExtent(DVASPECT_CONTENT, &sz2); - if (sz2.cx != sz.cx || sz.cy != sz2.cy) - m_oleObject->SetExtent(DVASPECT_CONTENT, &sz); - }; - - if (m_oleInPlaceObject.Ok()) - m_oleInPlaceObject->SetObjectRects(&posRect, &posRect); -} - -void wxActiveX::OnPaint(wxPaintEvent& event) -{ -// wxLogTrace(wxT("repainting activex win")); - wxPaintDC dc(this); - dc.BeginDrawing(); - int w, h; - GetSize(&w, &h); - RECT posRect; - posRect.left = 0; - posRect.top = 0; - posRect.right = w; - posRect.bottom = h; - - // Draw only when control is windowless or deactivated - if (m_viewObject) - { - ::RedrawWindow(m_oleObjectHWND, NULL, NULL, RDW_INTERNALPAINT); - { - RECTL *prcBounds = (RECTL *) &posRect; - m_viewObject->Draw(DVASPECT_CONTENT, -1, NULL, NULL, NULL, - (HDC)dc.GetHDC(), prcBounds, NULL, NULL, 0); - } - } - else - { - dc.SetBrush(*wxRED_BRUSH); - dc.DrawRectangle(0, 0, w, h); - dc.SetBrush(wxNullBrush); - } - dc.EndDrawing(); -} - - -void wxActiveX::OnMouse(wxMouseEvent& event) -{ - if (m_oleObjectHWND == NULL) - { -// wxLogTrace(wxT("no oleInPlaceObject")); - event.Skip(); - return; - } - -// wxLogTrace(wxT("mouse event")); - UINT msg = 0; - WPARAM wParam = 0; - LPARAM lParam = 0; - LRESULT lResult = 0; - - if (event.m_metaDown) - wParam |= MK_CONTROL; - if (event.m_shiftDown) - wParam |= MK_SHIFT; - if (event.m_leftDown) - wParam |= MK_LBUTTON; - if (event.m_middleDown) - wParam |= MK_MBUTTON; - if (event.m_rightDown) - wParam |= MK_RBUTTON; - lParam = event.m_x << 16; - lParam |= event.m_y; - - if (event.LeftDown()) - msg = WM_LBUTTONDOWN; - else if (event.LeftDClick()) - msg = WM_LBUTTONDBLCLK; - else if (event.LeftUp()) - msg = WM_LBUTTONUP; - else if (event.MiddleDown()) - msg = WM_MBUTTONDOWN; - else if (event.MiddleDClick()) - msg = WM_MBUTTONDBLCLK; - else if (event.MiddleUp()) - msg = WM_MBUTTONUP; - else if (event.RightDown()) - msg = WM_RBUTTONDOWN; - else if (event.RightDClick()) - msg = WM_RBUTTONDBLCLK; - else if (event.RightUp()) - msg = WM_RBUTTONUP; - else if (event.Moving() || event.Dragging()) - msg = WM_MOUSEMOVE; - - wxString log; - if (msg == 0) - { -// wxLogTrace(wxT("no message")); - event.Skip(); return; - }; - - if (!::SendMessage(m_oleObjectHWND, msg, wParam, lParam)) - { -// wxLogTrace(wxT("msg not delivered")); - event.Skip(); - return; - }; - -// wxLogTrace(wxT("msg sent")); -} - -WXLRESULT wxActiveX::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) -{ - if (m_oleObjectHWND == NULL) - return wxWindow::MSWWindowProc(nMsg, wParam, lParam); - - switch(nMsg) - { - case WM_CHAR: - case WM_DEADCHAR: - case WM_KEYDOWN: - case WM_KEYUP: - case WM_SYSCHAR: - case WM_SYSDEADCHAR: - case WM_SYSKEYDOWN: - case WM_SYSKEYUP: - PostMessage(m_oleObjectHWND, nMsg, wParam, lParam); - - default: - return wxWindow::MSWWindowProc(nMsg, wParam, lParam); - }; -}; - -void wxActiveX::OnSetFocus(wxFocusEvent& event) -{ - if (m_oleInPlaceActiveObject.Ok()) - m_oleInPlaceActiveObject->OnFrameWindowActivate(TRUE); -} - -void wxActiveX::OnKillFocus(wxFocusEvent& event) -{ - if (m_oleInPlaceActiveObject.Ok()) - m_oleInPlaceActiveObject->OnFrameWindowActivate(FALSE); -} - - -FrameSite::FrameSite(wxActiveX * win) -{ - m_window = win; - m_bSupportsWindowlessActivation = true; - m_bInPlaceLocked = false; - m_bUIActive = false; - m_bInPlaceActive = false; - m_bWindowless = false; - - m_nAmbientLocale = 0; - m_clrAmbientForeColor = ::GetSysColor(COLOR_WINDOWTEXT); - m_clrAmbientBackColor = ::GetSysColor(COLOR_WINDOW); - m_bAmbientShowHatching = true; - m_bAmbientShowGrabHandles = true; - m_bAmbientAppearance = true; - - m_hDCBuffer = NULL; - m_hWndParent = (HWND)m_window->GetHWND(); -} - -FrameSite::~FrameSite() -{ -} - - -//IDispatch - -HRESULT FrameSite::GetIDsOfNames(REFIID riid, OLECHAR ** rgszNames, unsigned int cNames, - LCID lcid, DISPID * rgDispId) -{ - WXOLE_TRACE("IDispatch::GetIDsOfNames"); - return E_NOTIMPL; -} - -HRESULT FrameSite::GetTypeInfo(unsigned int iTInfo, LCID lcid, ITypeInfo ** ppTInfo) -{ - WXOLE_TRACE("IDispatch::GetTypeInfo"); - return E_NOTIMPL; -} - -HRESULT FrameSite::GetTypeInfoCount(unsigned int * pcTInfo) -{ - WXOLE_TRACE("IDispatch::GetTypeInfoCount"); - return E_NOTIMPL; -} - -HRESULT FrameSite::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS * pDispParams, - VARIANT * pVarResult, EXCEPINFO * pExcepInfo, - unsigned int * puArgErr) -{ - WXOLE_TRACE("IDispatch::Invoke"); - - if (!(wFlags & DISPATCH_PROPERTYGET)) - return S_OK; - - HRESULT hr; - - if (pVarResult == NULL) - return E_INVALIDARG; - - //The most common case is boolean, use as an initial type - V_VT(pVarResult) = VT_BOOL; - - switch (dispIdMember) - { - case DISPID_AMBIENT_MESSAGEREFLECT: - WXOLE_TRACE("Invoke::DISPID_AMBIENT_MESSAGEREFLECT"); - V_BOOL(pVarResult)= FALSE; - return S_OK; - - case DISPID_AMBIENT_DISPLAYASDEFAULT: - WXOLE_TRACE("Invoke::DISPID_AMBIENT_DISPLAYASDEFAULT"); - V_BOOL(pVarResult)= TRUE; - return S_OK; - - case DISPID_AMBIENT_OFFLINEIFNOTCONNECTED: - WXOLE_TRACE("Invoke::DISPID_AMBIENT_OFFLINEIFNOTCONNECTED"); - V_BOOL(pVarResult) = TRUE; - return S_OK; - - - case DISPID_AMBIENT_SILENT: - WXOLE_TRACE("Invoke::DISPID_AMBIENT_SILENT"); - V_BOOL(pVarResult)= TRUE; - return S_OK; - - case DISPID_AMBIENT_APPEARANCE: - pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientAppearance; - break; - - case DISPID_AMBIENT_FORECOLOR: - pVarResult->vt = VT_I4; - pVarResult->lVal = (long) m_clrAmbientForeColor; - break; - - case DISPID_AMBIENT_BACKCOLOR: - pVarResult->vt = VT_I4; - pVarResult->lVal = (long) m_clrAmbientBackColor; - break; - - case DISPID_AMBIENT_LOCALEID: - pVarResult->vt = VT_I4; - pVarResult->lVal = (long) m_nAmbientLocale; - break; - - case DISPID_AMBIENT_USERMODE: - pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_window->m_bAmbientUserMode; - break; - - case DISPID_AMBIENT_SHOWGRABHANDLES: - pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientShowGrabHandles; - break; - - case DISPID_AMBIENT_SHOWHATCHING: - pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientShowHatching; - break; - - default: - return DISP_E_MEMBERNOTFOUND; - } - - return S_OK; -} - -//IOleWindow - -HRESULT FrameSite::GetWindow(HWND * phwnd) -{ - WXOLE_TRACE("IOleWindow::GetWindow"); - if (phwnd == NULL) - return E_INVALIDARG; - (*phwnd) = m_hWndParent; - return S_OK; -} - -HRESULT FrameSite::ContextSensitiveHelp(BOOL fEnterMode) -{ - WXOLE_TRACE("IOleWindow::ContextSensitiveHelp"); - return S_OK; -} - -//IOleInPlaceUIWindow - -HRESULT FrameSite::GetBorder(LPRECT lprectBorder) -{ - WXOLE_TRACE("IOleInPlaceUIWindow::GetBorder"); - if (lprectBorder == NULL) - return E_INVALIDARG; - return INPLACE_E_NOTOOLSPACE; -} - -HRESULT FrameSite::RequestBorderSpace(LPCBORDERWIDTHS pborderwidths) -{ - WXOLE_TRACE("IOleInPlaceUIWindow::RequestBorderSpace"); - if (pborderwidths == NULL) - return E_INVALIDARG; - return INPLACE_E_NOTOOLSPACE; -} - -HRESULT FrameSite::SetBorderSpace(LPCBORDERWIDTHS pborderwidths) -{ - WXOLE_TRACE("IOleInPlaceUIWindow::SetBorderSpace"); - return S_OK; -} - -HRESULT FrameSite::SetActiveObject(IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName) -{ - WXOLE_TRACE("IOleInPlaceUIWindow::SetActiveObject"); - - if (pActiveObject) - pActiveObject->AddRef(); - - m_window->m_oleInPlaceActiveObject = pActiveObject; - return S_OK; -} - -//IOleInPlaceFrame - -HRESULT FrameSite::InsertMenus(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) -{ - WXOLE_TRACE("IOleInPlaceFrame::InsertMenus"); - return S_OK; -} - -HRESULT FrameSite::SetMenu(HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) -{ - WXOLE_TRACE("IOleInPlaceFrame::SetMenu"); - return S_OK; -} - -HRESULT FrameSite::RemoveMenus(HMENU hmenuShared) -{ - WXOLE_TRACE("IOleInPlaceFrame::RemoveMenus"); - return S_OK; -} - -HRESULT FrameSite::SetStatusText(LPCOLESTR pszStatusText) -{ - WXOLE_TRACE("IOleInPlaceFrame::SetStatusText"); - //((wxFrame*)wxGetApp().GetTopWindow())->GetStatusBar()->SetStatusText(pszStatusText); - return S_OK; -} - -HRESULT FrameSite::EnableModeless(BOOL fEnable) -{ - WXOLE_TRACE("IOleInPlaceFrame::EnableModeless"); - return S_OK; -} - -HRESULT FrameSite::TranslateAccelerator(LPMSG lpmsg, WORD wID) -{ - WXOLE_TRACE("IOleInPlaceFrame::TranslateAccelerator"); - // TODO: send an event with this id - if (m_window->m_oleInPlaceActiveObject.Ok()) - m_window->m_oleInPlaceActiveObject->TranslateAccelerator(lpmsg); - - return S_FALSE; -} - -//IOleInPlaceSite - -HRESULT FrameSite::CanInPlaceActivate() -{ - WXOLE_TRACE("IOleInPlaceSite::CanInPlaceActivate"); - return S_OK; -} - -HRESULT FrameSite::OnInPlaceActivate() -{ - WXOLE_TRACE("IOleInPlaceSite::OnInPlaceActivate"); - m_bInPlaceActive = true; - return S_OK; -} - -HRESULT FrameSite::OnUIActivate() -{ - WXOLE_TRACE("IOleInPlaceSite::OnUIActivate"); - m_bUIActive = true; - return S_OK; -} - -HRESULT FrameSite::GetWindowContext(IOleInPlaceFrame **ppFrame, - IOleInPlaceUIWindow **ppDoc, - LPRECT lprcPosRect, - LPRECT lprcClipRect, - LPOLEINPLACEFRAMEINFO lpFrameInfo) -{ - WXOLE_TRACE("IOleInPlaceSite::GetWindowContext"); - if (ppFrame == NULL || ppDoc == NULL || lprcPosRect == NULL || - lprcClipRect == NULL || lpFrameInfo == NULL) - { - if (ppFrame != NULL) - (*ppFrame) = NULL; - if (ppDoc != NULL) - (*ppDoc) = NULL; - return E_INVALIDARG; - } - - HRESULT hr = QueryInterface(IID_IOleInPlaceFrame, (void **) ppFrame); - if (! SUCCEEDED(hr)) - { - WXOLE_TRACE("IOleInPlaceSite::IOleInPlaceFrame Error !"); - return E_UNEXPECTED; - }; - - hr = QueryInterface(IID_IOleInPlaceUIWindow, (void **) ppDoc); - if (! SUCCEEDED(hr)) - { - WXOLE_TRACE("IOleInPlaceSite::IOleInPlaceUIWindow Error !"); - (*ppFrame)->Release(); - *ppFrame = NULL; - return E_UNEXPECTED; - }; - - int w, h; - m_window->GetClientSize(&w, &h); - if (lprcPosRect) - { - lprcPosRect->left = lprcPosRect->top = 0; - lprcPosRect->right = w; - lprcPosRect->bottom = h; - }; - if (lprcClipRect) - { - lprcClipRect->left = lprcClipRect->top = 0; - lprcClipRect->right = w; - lprcClipRect->bottom = h; - }; - - memset(lpFrameInfo, 0, sizeof(OLEINPLACEFRAMEINFO)); - lpFrameInfo->cb = sizeof(OLEINPLACEFRAMEINFO); - lpFrameInfo->hwndFrame = m_hWndParent; - - return S_OK; -} - -HRESULT FrameSite::Scroll(SIZE scrollExtent) -{ - WXOLE_TRACE("IOleInPlaceSite::Scroll"); - return S_OK; -} - -HRESULT FrameSite::OnUIDeactivate(BOOL fUndoable) -{ - WXOLE_TRACE("IOleInPlaceSite::OnUIDeactivate"); - m_bUIActive = false; - return S_OK; -} - -HRESULT FrameSite::OnInPlaceDeactivate() -{ - WXOLE_TRACE("IOleInPlaceSite::OnInPlaceDeactivate"); - m_bInPlaceActive = false; - return S_OK; -} - -HRESULT FrameSite::DiscardUndoState() -{ - WXOLE_TRACE("IOleInPlaceSite::DiscardUndoState"); - return S_OK; -} - -HRESULT FrameSite::DeactivateAndUndo() -{ - WXOLE_TRACE("IOleInPlaceSite::DeactivateAndUndo"); - return S_OK; -} - -HRESULT FrameSite::OnPosRectChange(LPCRECT lprcPosRect) -{ - WXOLE_TRACE("IOleInPlaceSite::OnPosRectChange"); - if (m_window->m_oleInPlaceObject.Ok() && lprcPosRect) - m_window->m_oleInPlaceObject->SetObjectRects(lprcPosRect, lprcPosRect); - - return S_OK; -} - -//IOleInPlaceSiteEx - -HRESULT FrameSite::OnInPlaceActivateEx(BOOL * pfNoRedraw, DWORD dwFlags) -{ - WXOLE_TRACE("IOleInPlaceSiteEx::OnInPlaceActivateEx"); - OleLockRunning(m_window->m_ActiveX, TRUE, FALSE); - if (pfNoRedraw) - (*pfNoRedraw) = FALSE; - return S_OK; -} - -HRESULT FrameSite::OnInPlaceDeactivateEx(BOOL fNoRedraw) -{ - WXOLE_TRACE("IOleInPlaceSiteEx::OnInPlaceDeactivateEx"); - OleLockRunning(m_window->m_ActiveX, FALSE, FALSE); - return S_OK; -} - -HRESULT FrameSite::RequestUIActivate() -{ - WXOLE_TRACE("IOleInPlaceSiteEx::RequestUIActivate"); - return S_OK; -} - - -//IOleClientSite - -HRESULT FrameSite::SaveObject() -{ - WXOLE_TRACE("IOleClientSite::SaveObject"); - return S_OK; -} - -HRESULT FrameSite::GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, - IMoniker ** ppmk) -{ - WXOLE_TRACE("IOleClientSite::GetMoniker"); - return E_NOTIMPL; -} - -HRESULT FrameSite::GetContainer(LPOLECONTAINER * ppContainer) -{ - WXOLE_TRACE("IOleClientSite::GetContainer"); - if (ppContainer == NULL) - return E_INVALIDARG; - - HRESULT hr = QueryInterface(IID_IOleContainer, (void**)(ppContainer)); - wxASSERT(SUCCEEDED(hr)); - - return hr; -} - -HRESULT FrameSite::ShowObject() -{ - WXOLE_TRACE("IOleClientSite::ShowObject"); - if (m_window->m_oleObjectHWND) - ::ShowWindow(m_window->m_oleObjectHWND, SW_SHOW); - return S_OK; -} - -HRESULT FrameSite::OnShowWindow(BOOL fShow) -{ - WXOLE_TRACE("IOleClientSite::OnShowWindow"); - return S_OK; -} - -HRESULT FrameSite::RequestNewObjectLayout() -{ - WXOLE_TRACE("IOleClientSite::RequestNewObjectLayout"); - return E_NOTIMPL; -} - -// IParseDisplayName - -HRESULT FrameSite::ParseDisplayName(IBindCtx *pbc, LPOLESTR pszDisplayName, - ULONG *pchEaten, IMoniker **ppmkOut) -{ - WXOLE_TRACE("IParseDisplayName::ParseDisplayName"); - return E_NOTIMPL; -} - -//IOleContainer - -HRESULT FrameSite::EnumObjects(DWORD grfFlags, IEnumUnknown **ppenum) -{ - WXOLE_TRACE("IOleContainer::EnumObjects"); - return E_NOTIMPL; -} - -HRESULT FrameSite::LockContainer(BOOL fLock) -{ - WXOLE_TRACE("IOleContainer::LockContainer"); - // TODO - return S_OK; -} - -//IOleItemContainer - -HRESULT FrameSite::GetObject(LPOLESTR pszItem, DWORD dwSpeedNeeded, - IBindCtx * pbc, REFIID riid, void ** ppvObject) -{ - WXOLE_TRACE("IOleItemContainer::GetObject"); - if (pszItem == NULL) - return E_INVALIDARG; - if (ppvObject == NULL) - return E_INVALIDARG; - - *ppvObject = NULL; - return MK_E_NOOBJECT; -} - -HRESULT FrameSite::GetObjectStorage(LPOLESTR pszItem, IBindCtx * pbc, - REFIID riid, void ** ppvStorage) -{ - WXOLE_TRACE("IOleItemContainer::GetObjectStorage"); - if (pszItem == NULL) - return E_INVALIDARG; - if (ppvStorage == NULL) - return E_INVALIDARG; - - *ppvStorage = NULL; - return MK_E_NOOBJECT; -} - -HRESULT FrameSite::IsRunning(LPOLESTR pszItem) -{ - WXOLE_TRACE("IOleItemContainer::IsRunning"); - if (pszItem == NULL) - return E_INVALIDARG; - - return MK_E_NOOBJECT; -} - - - -//IOleControlSite - -HRESULT FrameSite::OnControlInfoChanged() -{ - WXOLE_TRACE("IOleControlSite::OnControlInfoChanged"); - return S_OK; -} - -HRESULT FrameSite::LockInPlaceActive(BOOL fLock) -{ - WXOLE_TRACE("IOleControlSite::LockInPlaceActive"); - m_bInPlaceLocked = (fLock) ? true : false; - return S_OK; -} - -HRESULT FrameSite::GetExtendedControl(IDispatch ** ppDisp) -{ - WXOLE_TRACE("IOleControlSite::GetExtendedControl"); - return E_NOTIMPL; -} - -HRESULT FrameSite::TransformCoords(POINTL * pPtlHimetric, POINTF * pPtfContainer, DWORD dwFlags) -{ - WXOLE_TRACE("IOleControlSite::TransformCoords"); - HRESULT hr = S_OK; - - if (pPtlHimetric == NULL) - return E_INVALIDARG; - - if (pPtfContainer == NULL) - return E_INVALIDARG; - - return E_NOTIMPL; - -} - -HRESULT FrameSite::TranslateAccelerator(LPMSG pMsg, DWORD grfModifiers) -{ - WXOLE_TRACE("IOleControlSite::TranslateAccelerator"); - // TODO: send an event with this id - return E_NOTIMPL; -} - -HRESULT FrameSite::OnFocus(BOOL fGotFocus) -{ - WXOLE_TRACE("IOleControlSite::OnFocus"); - return S_OK; -} - -HRESULT FrameSite::ShowPropertyFrame() -{ - WXOLE_TRACE("IOleControlSite::ShowPropertyFrame"); - return E_NOTIMPL; -} - -//IOleCommandTarget - -HRESULT FrameSite::QueryStatus(const GUID * pguidCmdGroup, ULONG cCmds, - OLECMD * prgCmds, OLECMDTEXT * pCmdTet) -{ - WXOLE_TRACE("IOleCommandTarget::QueryStatus"); - if (prgCmds == NULL) return E_INVALIDARG; - bool bCmdGroupFound = false; - - for (ULONG nCmd = 0; nCmd < cCmds; nCmd++) - { - // unsupported by default - prgCmds[nCmd].cmdf = 0; - - // TODO - } - - if (!bCmdGroupFound) { OLECMDERR_E_UNKNOWNGROUP; } - return S_OK; -} - -HRESULT FrameSite::Exec(const GUID * pguidCmdGroup, DWORD nCmdID, - DWORD nCmdExecOpt, VARIANTARG * pVaIn, - VARIANTARG * pVaOut) -{ - WXOLE_TRACE("IOleCommandTarget::Exec"); - bool bCmdGroupFound = false; - - if (!bCmdGroupFound) { OLECMDERR_E_UNKNOWNGROUP; } - return OLECMDERR_E_NOTSUPPORTED; -} - -//IAdviseSink - -void STDMETHODCALLTYPE FrameSite::OnDataChange(FORMATETC * pFormatEtc, STGMEDIUM * pgStgMed) -{ - WXOLE_TRACE("IAdviseSink::OnDataChange"); -} - -void STDMETHODCALLTYPE FrameSite::OnViewChange(DWORD dwAspect, LONG lIndex) -{ - WXOLE_TRACE("IAdviseSink::OnViewChange"); - // redraw the control -} - -void STDMETHODCALLTYPE FrameSite::OnRename(IMoniker * pmk) -{ - WXOLE_TRACE("IAdviseSink::OnRename"); -} - -void STDMETHODCALLTYPE FrameSite::OnSave() -{ - WXOLE_TRACE("IAdviseSink::OnSave"); -} - -void STDMETHODCALLTYPE FrameSite::OnClose() -{ - WXOLE_TRACE("IAdviseSink::OnClose"); -} - -///////////////////////////////////////////// -// IOleDocumentSite -HRESULT STDMETHODCALLTYPE FrameSite::ActivateMe( - /* [in] */ IOleDocumentView __RPC_FAR *pViewToActivate) -{ - wxAutoOleInterface inPlaceSite(IID_IOleInPlaceSite, (IDispatch *) this); - if (!inPlaceSite.Ok()) - return E_FAIL; - - if (pViewToActivate) - { - m_window->m_docView = pViewToActivate; - m_window->m_docView->SetInPlaceSite(inPlaceSite); - } - else - { - wxAutoOleInterface oleDoc(IID_IOleDocument, m_window->m_oleObject); - if (! oleDoc.Ok()) - return E_FAIL; - - HRESULT hr = oleDoc->CreateView(inPlaceSite, NULL, 0, m_window->m_docView.GetRef()); - if (hr != S_OK) - return E_FAIL; - - m_window->m_docView->SetInPlaceSite(inPlaceSite); - }; - - m_window->m_docView->UIActivate(TRUE); - - return S_OK; -}; - - - -static IMalloc *iMalloc = NULL; - -IMalloc *wxOleInit::GetIMalloc() -{ - assert(iMalloc); - return iMalloc; -}; - -wxOleInit::wxOleInit() -{ - if (OleInitialize(NULL) == S_OK && iMalloc == NULL) - CoGetMalloc(1, &iMalloc); - else if (iMalloc) - iMalloc->AddRef(); -}; - -wxOleInit::~wxOleInit() -{ - if (iMalloc) - { - if (iMalloc->Release() == 0) - iMalloc = NULL; - }; - - OleUninitialize(); -} - -wxString OLEHResultToString(HRESULT hr) -{ - switch (hr) - { - case S_OK: - return wxEmptyString; - - case OLECMDERR_E_UNKNOWNGROUP: - return wxT("The pguidCmdGroup parameter is not NULL but does not specify a recognized command group."); - - case OLECMDERR_E_NOTSUPPORTED: - return wxT("The nCmdID parameter is not a valid command in the group identified by pguidCmdGroup."); - - case OLECMDERR_E_DISABLED: - return wxT("The command identified by nCmdID is currently disabled and cannot be executed."); - - case OLECMDERR_E_NOHELP: - return wxT("The caller has asked for help on the command identified by nCmdID, but no help is available."); - - case OLECMDERR_E_CANCELED: - return wxT("The user canceled the execution of the command."); - - case E_INVALIDARG: - return wxT("E_INVALIDARG"); - - case E_OUTOFMEMORY: - return wxT("E_OUTOFMEMORY"); - - case E_NOINTERFACE: - return wxT("E_NOINTERFACE"); - - case E_UNEXPECTED: - return wxT("E_UNEXPECTED"); - - case STG_E_INVALIDFLAG: - return wxT("STG_E_INVALIDFLAG"); - - case E_FAIL: - return wxT("E_FAIL"); - - case E_NOTIMPL: - return wxT("E_NOTIMPL"); - - default: - { - wxString buf; - buf.Printf(wxT("Unknown - 0x%X"), hr); - return buf; - } - }; -}; - -// borrowed from src/msw/ole/oleutils.cpp -wxString GetIIDName(REFIID riid) -{ - // an association between symbolic name and numeric value of an IID - struct KNOWN_IID - { - const IID *pIid; - const wxChar *szName; - }; - - // construct the table containing all known interfaces - #define ADD_KNOWN_IID(name) { &IID_I##name, _T(#name) } - #define ADD_KNOWN_GUID(name) { &name, _T(#name) } - - static const KNOWN_IID aKnownIids[] = - { - ADD_KNOWN_IID(AdviseSink), - ADD_KNOWN_IID(AdviseSink2), - ADD_KNOWN_IID(BindCtx), - ADD_KNOWN_IID(ClassFactory), -#if ( !defined( __VISUALC__) || (__VISUALC__!=1010) ) && !defined(__MWERKS__) - ADD_KNOWN_IID(ContinueCallback), - ADD_KNOWN_IID(EnumOleDocumentViews), - ADD_KNOWN_IID(OleCommandTarget), - ADD_KNOWN_IID(OleDocument), - ADD_KNOWN_IID(OleDocumentSite), - ADD_KNOWN_IID(OleDocumentView), - ADD_KNOWN_IID(Print), -#endif - ADD_KNOWN_IID(DataAdviseHolder), - ADD_KNOWN_IID(DataObject), - ADD_KNOWN_IID(Debug), - ADD_KNOWN_IID(DebugStream), - ADD_KNOWN_IID(DfReserved1), - ADD_KNOWN_IID(DfReserved2), - ADD_KNOWN_IID(DfReserved3), - ADD_KNOWN_IID(Dispatch), - ADD_KNOWN_IID(DropSource), - ADD_KNOWN_IID(DropTarget), - ADD_KNOWN_IID(EnumCallback), - ADD_KNOWN_IID(EnumFORMATETC), - ADD_KNOWN_IID(EnumGeneric), - ADD_KNOWN_IID(EnumHolder), - ADD_KNOWN_IID(EnumMoniker), - ADD_KNOWN_IID(EnumOLEVERB), - ADD_KNOWN_IID(EnumSTATDATA), - ADD_KNOWN_IID(EnumSTATSTG), - ADD_KNOWN_IID(EnumString), - ADD_KNOWN_IID(EnumUnknown), - ADD_KNOWN_IID(EnumVARIANT), - ADD_KNOWN_IID(ExternalConnection), - ADD_KNOWN_IID(InternalMoniker), - ADD_KNOWN_IID(LockBytes), - ADD_KNOWN_IID(Malloc), - ADD_KNOWN_IID(Marshal), - ADD_KNOWN_IID(MessageFilter), - ADD_KNOWN_IID(Moniker), - ADD_KNOWN_IID(OleAdviseHolder), - ADD_KNOWN_IID(OleCache), - ADD_KNOWN_IID(OleCache2), - ADD_KNOWN_IID(OleCacheControl), - ADD_KNOWN_IID(OleClientSite), - ADD_KNOWN_IID(OleContainer), - ADD_KNOWN_IID(OleInPlaceActiveObject), - ADD_KNOWN_IID(OleInPlaceFrame), - ADD_KNOWN_IID(OleInPlaceObject), - ADD_KNOWN_IID(OleInPlaceSite), - ADD_KNOWN_IID(OleInPlaceUIWindow), - ADD_KNOWN_IID(OleItemContainer), - ADD_KNOWN_IID(OleLink), - ADD_KNOWN_IID(OleManager), - ADD_KNOWN_IID(OleObject), - ADD_KNOWN_IID(OlePresObj), - ADD_KNOWN_IID(OleWindow), - ADD_KNOWN_IID(PSFactory), - ADD_KNOWN_IID(ParseDisplayName), - ADD_KNOWN_IID(Persist), - ADD_KNOWN_IID(PersistFile), - ADD_KNOWN_IID(PersistStorage), - ADD_KNOWN_IID(PersistStream), - ADD_KNOWN_IID(ProxyManager), - ADD_KNOWN_IID(RootStorage), - ADD_KNOWN_IID(RpcChannel), - ADD_KNOWN_IID(RpcProxy), - ADD_KNOWN_IID(RpcStub), - ADD_KNOWN_IID(RunnableObject), - ADD_KNOWN_IID(RunningObjectTable), - ADD_KNOWN_IID(StdMarshalInfo), - ADD_KNOWN_IID(Storage), - ADD_KNOWN_IID(Stream), - ADD_KNOWN_IID(StubManager), - ADD_KNOWN_IID(Unknown), - ADD_KNOWN_IID(ViewObject), - ADD_KNOWN_IID(ViewObject2), - ADD_KNOWN_GUID(IID_IDispatch), - ADD_KNOWN_GUID(IID_IWebBrowser), - ADD_KNOWN_GUID(IID_IWebBrowserApp), - ADD_KNOWN_GUID(IID_IWebBrowser2), - ADD_KNOWN_GUID(IID_IWebBrowser), - ADD_KNOWN_GUID(DIID_DWebBrowserEvents2), - ADD_KNOWN_GUID(DIID_DWebBrowserEvents), - }; - - // don't clobber preprocessor name space - #undef ADD_KNOWN_IID - #undef ADD_KNOWN_GUID - - // try to find the interface in the table - for ( size_t ui = 0; ui < WXSIZEOF(aKnownIids); ui++ ) - { - if ( riid == *aKnownIids[ui].pIid ) - { - return aKnownIids[ui].szName; - } - } - - // unknown IID, just transform to string - LPOLESTR str = NULL; - StringFromIID(riid, &str); - if (str) - { - wxString s = str; - CoTaskMemFree(str); - return s; - } - else - return wxT("StringFromIID() error"); -} diff --git a/wxPython/contrib/iewin/wxactivex.h b/wxPython/contrib/iewin/wxactivex.h deleted file mode 100644 index 4c88a1d3f3..0000000000 --- a/wxPython/contrib/iewin/wxactivex.h +++ /dev/null @@ -1,392 +0,0 @@ -#ifndef WX_ACTIVE_X -#define WX_ACTIVE_X -#pragma warning( disable : 4101 4786) -#pragma warning( disable : 4786) - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -////////////////////////////////////////// -// wxAutoOleInterface -// Template class for smart interface handling -// - Automatically dereferences ole interfaces -// - Smart Copy Semantics -// - Can Create Interfaces -// - Can query for other interfaces -template class wxAutoOleInterface -{ - protected: - I *m_interface; - - public: - // takes ownership of an existing interface - // Assumed to already have a AddRef() applied - explicit wxAutoOleInterface(I *pInterface = NULL) : m_interface(pInterface) {} - - // queries for an interface - wxAutoOleInterface(REFIID riid, IUnknown *pUnk) : m_interface(NULL) - { - QueryInterface(riid, pUnk); - }; - // queries for an interface - wxAutoOleInterface(REFIID riid, IDispatch *pDispatch) : m_interface(NULL) - { - QueryInterface(riid, pDispatch); - }; - - // Creates an Interface - wxAutoOleInterface(REFCLSID clsid, REFIID riid) : m_interface(NULL) - { - CreateInstance(clsid, riid); - }; - - // copy constructor - wxAutoOleInterface(const wxAutoOleInterface& ti) : m_interface(NULL) - { - operator = (ti); - } - - // assignment operator - wxAutoOleInterface& operator = (const wxAutoOleInterface& ti) - { - if (ti.m_interface) - ti.m_interface->AddRef(); - Free(); - m_interface = ti.m_interface; - return *this; - } - - // takes ownership of an existing interface - // Assumed to already have a AddRef() applied - wxAutoOleInterface& operator = (I *&ti) - { - Free(); - m_interface = ti; - return *this; - } - - ~wxAutoOleInterface() - { - Free(); - }; - - - inline void Free() - { - if (m_interface) - m_interface->Release(); - m_interface = NULL; - }; - - // queries for an interface - HRESULT QueryInterface(REFIID riid, IUnknown *pUnk) - { - Free(); - wxASSERT(pUnk != NULL); - return pUnk->QueryInterface(riid, (void **) &m_interface); - }; - - // Create a Interface instance - HRESULT CreateInstance(REFCLSID clsid, REFIID riid) - { - Free(); - return CoCreateInstance(clsid, NULL, CLSCTX_ALL, riid, (void **) &m_interface); - }; - - - - inline operator I *() const {return m_interface;} - inline I* operator ->() {return m_interface;} - inline I** GetRef() {return &m_interface;} - - inline bool Ok() const {return m_interface != NULL;} -}; - - -wxString OLEHResultToString(HRESULT hr); -wxString GetIIDName(REFIID riid); - -//#define __WXOLEDEBUG - - -#ifdef __WXOLEDEBUG - #define WXOLE_TRACE(str) {OutputDebugString(str);OutputDebugString("\r\n");} - #define WXOLE_TRACEOUT(stuff)\ - {\ - ostringstream os;\ - os << stuff << ends;\ - WXOLE_TRACE(os.str().c_str());\ - } - - #define WXOLE_WARN(__hr,msg)\ - {\ - if (__hr != S_OK)\ - {\ - wxString s = "*** ";\ - s += msg;\ - s += " : "+ OLEHResultToString(__hr);\ - WXOLE_TRACE(s.c_str());\ - }\ - } -#else - #define WXOLE_TRACE(str) - #define WXOLE_TRACEOUT(stuff) - #define WXOLE_WARN(_proc,msg) {_proc;} -#endif - -// Auto Initialisation -class wxOleInit -{ - public: - static IMalloc *GetIMalloc(); - - wxOleInit(); - ~wxOleInit(); -}; - -#define DECLARE_OLE_UNKNOWN(cls)\ - private:\ - class TAutoInitInt\ - {\ - public:\ - LONG l;\ - TAutoInitInt() : l(0) {}\ - };\ - TAutoInitInt refCount, lockCount;\ - wxOleInit oleInit;\ - static void _GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc);\ - public:\ - LONG GetRefCount();\ - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject);\ - ULONG STDMETHODCALLTYPE AddRef();\ - ULONG STDMETHODCALLTYPE Release();\ - ULONG STDMETHODCALLTYPE AddLock();\ - ULONG STDMETHODCALLTYPE ReleaseLock() - -#define DEFINE_OLE_TABLE(cls)\ - LONG cls::GetRefCount() {return refCount.l;}\ - HRESULT STDMETHODCALLTYPE cls::QueryInterface(REFIID iid, void ** ppvObject)\ - {\ - if (! ppvObject)\ - {\ - WXOLE_TRACE("*** NULL POINTER ***");\ - return E_FAIL;\ - };\ - const char *desc = NULL;\ - cls::_GetInterface(this, iid, ppvObject, desc);\ - if (! *ppvObject)\ - {\ - WXOLE_TRACEOUT("<" << GetIIDName(iid).c_str() << "> Not Found");\ - return E_NOINTERFACE;\ - };\ - WXOLE_TRACEOUT("QI : <" << desc <<">");\ - ((IUnknown * )(*ppvObject))->AddRef();\ - return S_OK;\ - };\ - ULONG STDMETHODCALLTYPE cls::AddRef()\ - {\ - WXOLE_TRACEOUT(# cls << "::Add ref(" << refCount.l << ")");\ - InterlockedIncrement(&refCount.l);\ - return refCount.l;\ - };\ - ULONG STDMETHODCALLTYPE cls::Release()\ - {\ - if (refCount.l > 0)\ - {\ - InterlockedDecrement(&refCount.l);\ - WXOLE_TRACEOUT(# cls << "::Del ref(" << refCount.l << ")");\ - if (refCount.l == 0)\ - {\ - delete this;\ - return 0;\ - };\ - return refCount.l;\ - }\ - else\ - return 0;\ - }\ - ULONG STDMETHODCALLTYPE cls::AddLock()\ - {\ - WXOLE_TRACEOUT(# cls << "::Add Lock(" << lockCount.l << ")");\ - InterlockedIncrement(&lockCount.l);\ - return lockCount.l;\ - };\ - ULONG STDMETHODCALLTYPE cls::ReleaseLock()\ - {\ - if (lockCount.l > 0)\ - {\ - InterlockedDecrement(&lockCount.l);\ - WXOLE_TRACEOUT(# cls << "::Del Lock(" << lockCount.l << ")");\ - return lockCount.l;\ - }\ - else\ - return 0;\ - }\ - DEFINE_OLE_BASE(cls) - -#define DEFINE_OLE_BASE(cls)\ - void cls::_GetInterface(cls *self, REFIID iid, void **_interface, const char *&desc)\ - {\ - *_interface = NULL;\ - desc = NULL; - -#define OLE_INTERFACE(_iid, _type)\ - if (IsEqualIID(iid, _iid))\ - {\ - WXOLE_TRACE("Found Interface <" # _type ">");\ - *_interface = (IUnknown *) (_type *) self;\ - desc = # _iid;\ - return;\ - } - -#define OLE_IINTERFACE(_face) OLE_INTERFACE(IID_##_face, _face) - -#define OLE_INTERFACE_CUSTOM(func)\ - if (func(self, iid, _interface, desc))\ - return - -#define END_OLE_TABLE\ - } - - - -class wxActiveX : public wxWindow { -public: - //////////////////////////////////////// - // type stuff - class ParamX // refer to ELEMDESC, IDLDESC in MSDN - { - public: - USHORT flags; - bool isPtr, isSafeArray; - VARTYPE vt; - wxString name; - - inline bool IsIn() const {return (flags & IDLFLAG_FIN) != 0;} - inline bool IsOut() const {return (flags & IDLFLAG_FOUT) != 0;} - inline bool IsRetVal() const {return (flags & IDLFLAG_FRETVAL) != 0;} - }; - - typedef vector ParamXArray; - - class FuncX // refer to FUNCDESC in MSDN - { - public: - wxString name; - MEMBERID memid; - bool hasOut; - - ParamXArray params; - }; - - typedef vector FuncXArray; - typedef map MemberIdList; - - wxActiveX(wxWindow * parent, REFCLSID clsid, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPanelNameStr); - wxActiveX(wxWindow * parent, wxString progId, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = wxPanelNameStr); - virtual ~wxActiveX(); - - void CreateActiveX(REFCLSID clsid); - void CreateActiveX(LPOLESTR progId); - - // expose type info - inline int GetEventCount() const {return m_events.size();} - const FuncX& GetEvent(int idx) const; - - HRESULT ConnectAdvise(REFIID riid, IUnknown *eventSink); - - void OnSize(wxSizeEvent&); - void OnPaint(wxPaintEvent& event); - void OnMouse(wxMouseEvent& event); - void OnSetFocus(wxFocusEvent&); - void OnKillFocus(wxFocusEvent&); - - DECLARE_EVENT_TABLE(); - -protected: - friend class FrameSite; - friend class wxActiveXEvents; - - typedef wxAutoOleInterface wxOleConnectionPoint; - typedef pair wxOleConnection; - typedef vector wxOleConnectionArray; - - wxAutoOleInterface m_clientSite; - wxAutoOleInterface m_ActiveX; - wxAutoOleInterface m_oleObject; - wxAutoOleInterface m_oleInPlaceObject; - wxAutoOleInterface - - m_oleInPlaceActiveObject; - wxAutoOleInterface m_docView; - wxAutoOleInterface m_viewObject; - HWND m_oleObjectHWND; - bool m_bAmbientUserMode; - DWORD m_docAdviseCookie; - wxOleConnectionArray m_connections; - - HRESULT AmbientPropertyChanged(DISPID dispid); - - void GetTypeInfo(); - void GetTypeInfo(ITypeInfo *ti, bool defEventSink); - - - // events - FuncXArray m_events; - MemberIdList m_eventsIdx; - - WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); -}; - -// events -class wxActiveXEvent : public wxCommandEvent -{ -private: - friend class wxActiveXEvents; - - wxVariant m_params; - -public: - - virtual wxEvent *Clone() const { return new wxActiveXEvent(*this); } - - wxString EventName(); - int ParamCount() const; - wxString ParamType(int idx); - wxString ParamName(int idx); - wxVariant operator[] (int idx) const; - wxVariant& operator[] (int idx); - wxVariant operator[] (wxString name) const; - wxVariant& operator[] (wxString name); -}; - -const wxEventType& RegisterActiveXEvent(const wxChar *eventName); -const wxEventType& RegisterActiveXEvent(DISPID event); - -typedef void (wxEvtHandler::*wxActiveXEventFunction)(wxActiveXEvent&); - -#define EVT_ACTIVEX(id, eventName, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(wxT(eventName)), id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxActiveXEventFunction, & fn ), (wxObject *) NULL ), -#define EVT_ACTIVEX_DISPID(id, eventDispId, fn) DECLARE_EVENT_TABLE_ENTRY(RegisterActiveXEvent(eventDispId), id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxActiveXEventFunction, & fn ), (wxObject *) NULL ), - -//util -bool MSWVariantToVariant(VARIANTARG& va, wxVariant& vx); -bool VariantToMSWVariant(wxVariant& vx, VARIANTARG& va); - -#endif /* _IEHTMLWIN_H_ */