#include <wx/wx.h>
+//----------------------------------------------------------------------
+
+// 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);
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);
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