+ wxWindowCreateEvent(wxWindow *win = NULL);
+
+ wxWindow *GetWindow();
+};
+
+class wxWindowDestroyEvent : public wxEvent {
+public:
+ wxWindowDestroyEvent(wxWindow *win = NULL);
+
+ wxWindow *GetWindow();
+};
+
+
+//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+// These classes can be derived from in Python and passed through the event
+// system without loosing anything. They do this by keeping a reference to
+// themselves and some special case handling in wxPyCallback::EventThunker.
+
+class wxPyEvent : public wxEvent {
+public:
+ wxPyEvent(int id=0);
+ ~wxPyEvent();
+
+ %pragma(python) addtomethod = "__init__:self.SetSelf(self)"
+
+ void SetSelf(PyObject* self);
+ PyObject* GetSelf();
+};
+
+
+class wxPyCommandEvent : public wxCommandEvent {
+public:
+ wxPyCommandEvent(wxEventType commandType = wxEVT_NULL, int id=0);
+ ~wxPyCommandEvent();
+
+ %pragma(python) addtomethod = "__init__:self.SetSelf(self)"
+
+ void SetSelf(PyObject* self);
+ PyObject* GetSelf();