+// ----------------------------------------------------------------------------
+// event constants
+// ----------------------------------------------------------------------------
+
+// declare a custom event type
+//
+// note that in wxWin 2.3+ these macros expand simply into the following code:
+//
+// extern const wxEventType wxEVT_MY_CUSTOM_COMMAND;
+//
+// const wxEventType wxEVT_MY_CUSTOM_COMMAND = wxNewEventType();
+//
+// and you may use this code directly if you don't care about 2.2 compatibility
+BEGIN_DECLARE_EVENT_TYPES()
+ DECLARE_EVENT_TYPE(wxEVT_MY_CUSTOM_COMMAND, 7777)
+END_DECLARE_EVENT_TYPES()
+
+DEFINE_EVENT_TYPE(wxEVT_MY_CUSTOM_COMMAND)
+
+// it may also be convenient to define an event table macro for this event type
+#define EVT_MY_CUSTOM_COMMAND(id, fn) \
+ DECLARE_EVENT_TABLE_ENTRY( \
+ wxEVT_MY_CUSTOM_COMMAND, id, wxID_ANY, \
+ (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxCommandEventFunction, &fn ), \
+ (wxObject *) NULL \
+ ),
+