+//----------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxPyEvent, wxCommandEvent)
+
+wxPyEvent::wxPyEvent(wxEventType commandType, PyObject* userData)
+ : wxCommandEvent(commandType), m_userData(Py_None)
+{
+ m_userData = userData;
+ if (m_userData != Py_None) {
+ Py_INCREF(m_userData);
+ }
+}
+
+
+wxPyEvent::~wxPyEvent() {
+ if (m_userData != Py_None) {
+ Py_DECREF(m_userData);
+ m_userData = Py_None;
+ }
+}
+
+
+void wxPyEvent::SetUserData(PyObject* userData) {
+ if (m_userData != Py_None) {
+ Py_DECREF(m_userData);
+ m_userData = Py_None;
+ }
+ m_userData = userData;
+ if (m_userData != Py_None) {
+ Py_INCREF(m_userData);
+ }
+}
+
+
+PyObject* wxPyEvent::GetUserData() {
+ return m_userData;
+}