X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6cfd7f95f8e4a8add5add71f5046ec50d8bbd67b..9269629e9edf24ce170f225d408a5472ab6864ac:/wxPython/contrib/activex/activex.i diff --git a/wxPython/contrib/activex/activex.i b/wxPython/contrib/activex/activex.i index df0f3c7cd1..c3830258e0 100644 --- a/wxPython/contrib/activex/activex.i +++ b/wxPython/contrib/activex/activex.i @@ -11,7 +11,7 @@ ///////////////////////////////////////////////////////////////////////////// -%module activex +%module(package="wx") activex %{ #include "wx/wxPython/wxPython.h" @@ -57,14 +57,14 @@ typedef unsigned short VARTYPE; // Some conversion helpers static wxVariant _PyObj2Variant(PyObject* value); static bool _PyObj2Variant(PyObject* value, wxVariant& wv); -static PyObject* _Variant2PyObj(wxVariant& value, bool useNone=False); +static PyObject* _Variant2PyObj(wxVariant& value, bool useNone=false); static wxString _VARTYPEname(VARTYPE vt); // Check if an exception has been raised (blocking threads) inline bool wxPyErr_Occurred() { bool rval; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); rval = PyErr_Occurred() != NULL; wxPyEndBlockThreads(blocked); return rval; @@ -240,6 +240,9 @@ class wxActiveXWindow : public wxActiveX { private: CLSID m_CLSID; + + DECLARE_ABSTRACT_CLASS(wxActiveXWindow); + public: wxActiveXWindow( wxWindow* parent, const CLSID& clsId, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -326,7 +329,7 @@ public: void SetAXProp(const wxString& name, PyObject* value) { const wxPropX& prop = GetAXPropDesc(name); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (! PyErr_Occurred() ) { if (! prop.CanSet()) { wxString msg; @@ -362,7 +365,7 @@ public: { PyObject* rval = NULL; const wxPropX& prop = GetAXPropDesc(name); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (! PyErr_Occurred() ) { if (! prop.CanGet()) { wxString msg; @@ -408,7 +411,7 @@ public: PyObject* rval = NULL; const wxFuncX& func = GetAXMethodDesc(name); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (! PyErr_Occurred() ) { nargs = func.params.size(); if (nargs > 0) @@ -460,7 +463,7 @@ public: // conversion errors for now wxVariant wv; MSWVariantToVariant(rv, wv); - rval = _Variant2PyObj(wv, True); + rval = _Variant2PyObj(wv, true); VariantClear(&rv); if (func.hasOut) { @@ -477,7 +480,7 @@ public: const wxParamX &px = func.params[i]; if (px.IsOut()) { MSWVariantToVariant(va, wv); - PyObject* obj = _Variant2PyObj(wv, True); + PyObject* obj = _Variant2PyObj(wv, true); PyList_Append(lst, obj); } } @@ -497,6 +500,8 @@ public: return rval; } }; + +IMPLEMENT_ABSTRACT_CLASS( wxActiveXWindow, wxWindow ); %} @@ -515,6 +520,8 @@ specified by the TypeInfo. ", ""); +MustHaveApp(wxActiveXWindow); + class wxActiveXWindow : public wxWindow { public: @@ -634,13 +641,13 @@ public: // handler. We'll convert and load the ActiveX event parameters into // attributes of the Python event object. void _preCallInit(PyObject* pyself) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* pList = PyList_New(0); PyObject_SetAttrString(pyself, "paramList", pList); Py_DECREF(pList); for (int i=0; iParamCount(); i+=1) { PyObject* name = PyString_FromString((char*)(const char*)self->ParamName(i).mb_str()); - PyObject* val = _Variant2PyObj((*self)[i], True); + PyObject* val = _Variant2PyObj((*self)[i], true); PyObject_SetAttr(pyself, name, val); PyList_Append(pList, name); Py_DECREF(val); @@ -653,7 +660,7 @@ public: // handler. It reloads any "out" parameters from the python attributes // back into the wxVariant they came from. void _postCallCleanup(PyObject* pyself) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); for (int i=0; iParamCount(); i+=1) { PyObject* val = PyObject_GetAttrString( pyself, (char*)(const char*)self->ParamName(i).mb_str()); @@ -835,7 +842,7 @@ wxString _VARTYPEname(VARTYPE vt) %{ -// A class derived from out wxActiveXWindow for the IE WebBrowser +// A class derived from our wxActiveXWindow for the IE WebBrowser // control that will serve as a base class for a Python // implementation. This is done so we can "eat our own dog food" // and use a class at least mostly generated by genaxmodule, but @@ -859,6 +866,8 @@ class wxIEHtmlWindowBase : public wxActiveXWindow { private: wxAutoOleInterface m_webBrowser; + DECLARE_ABSTRACT_CLASS(wxIEHtmlWindowBase); + public: wxIEHtmlWindowBase ( wxWindow* parent, const CLSID& clsId, wxWindowID id = -1, @@ -1041,6 +1050,9 @@ public: // return ! m_bAmbientUserMode; // }; }; + +IMPLEMENT_ABSTRACT_CLASS( wxIEHtmlWindowBase, wxActiveXWindow ); + %} @@ -1053,8 +1065,11 @@ public: %feature("noautodoc") wxIEHtmlWindowBase::GetText; +MustHaveApp(wxIEHtmlWindowBase); + class wxIEHtmlWindowBase : public wxActiveXWindow { public: + %pythonAppend wxIEHtmlWindowBase "self._setOORInfo(self)" wxIEHtmlWindowBase ( wxWindow* parent, const CLSID& clsId, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,