X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c039d08bfbb59c0abcbc705fb49f9b2cb321edf..bfac8499858dbb52ae4e712b718dcd08e777b4c2:/utils/wxPython/src/helpers.h?ds=sidebyside diff --git a/utils/wxPython/src/helpers.h b/utils/wxPython/src/helpers.h index d86aa6593f..9e0945d42f 100644 --- a/utils/wxPython/src/helpers.h +++ b/utils/wxPython/src/helpers.h @@ -16,11 +16,29 @@ #include +//---------------------------------------------------------------------- + +// if we want to handle threads and Python threads are available... +#if defined(WXP_USE_THREAD) && defined(WITH_THREAD) + +#define WXP_WITH_THREAD +#define wxPy_BEGIN_ALLOW_THREADS Py_BEGIN_ALLOW_THREADS +#define wxPy_END_ALLOW_THREADS Py_END_ALLOW_THREADS + +#else // no Python threads... +#undef WXP_WITH_THREAD +#define wxPy_BEGIN_ALLOW_THREADS +#define wxPy_END_ALLOW_THREADS +#endif + + //---------------------------------------------------------------------- class wxPyApp: public wxApp { public: + wxPyApp(); + ~wxPyApp(); int MainLoop(void); bool OnInit(void); void AfterMainLoop(void); @@ -54,6 +72,8 @@ extern "C" char *SWIG_GetPtr(char *, void **, char *); # pragma warning(disable:4800) #endif +typedef unsigned char byte; + // Non-const versions to keep SWIG happy. extern wxPoint wxPyDefaultPosition; @@ -64,8 +84,8 @@ extern wxString wxPyEmptyStr; class wxPyCallback : public wxObject { public: - wxPyCallback(PyObject* func) { m_func = func; Py_INCREF(m_func); } - ~wxPyCallback() { Py_DECREF(m_func); } + wxPyCallback(PyObject* func); + ~wxPyCallback(); void EventThunker(wxEvent& event); @@ -98,11 +118,44 @@ private: PyObject* func; }; +//--------------------------------------------------------------------------- + +class wxPyEvent : public wxCommandEvent { + DECLARE_DYNAMIC_CLASS(wxPyEvent) +public: + wxPyEvent(wxEventType commandType = wxEVT_NULL, PyObject* userData = Py_None); + ~wxPyEvent(); + + void SetUserData(PyObject* userData); + PyObject* GetUserData(); + +private: + PyObject* m_userData; +}; + //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.7 1999/04/30 03:29:18 RD +// wxPython 2.0b9, first phase (win32) +// Added gobs of stuff, see wxPython/README.txt for details +// +// Revision 1.6.4.1 1999/03/27 23:29:14 RD +// +// wxPython 2.0b8 +// Python thread support +// various minor additions +// various minor fixes +// +// Revision 1.6 1998/11/25 08:45:26 RD +// +// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon +// Added events for wxGrid +// Other various fixes and additions +// // Revision 1.5 1998/10/02 06:40:40 RD +// // Version 0.4 of wxPython for MSW. // // Revision 1.4 1998/08/27 21:59:09 RD