+// Set cursor event
+DEFINE_EVENT_TYPE(wxEVT_SET_CURSOR)
+
+// wxScrollbar and wxSlider event identifiers
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_TOP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_BOTTOM)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_LINEUP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_LINEDOWN)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_PAGEUP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_PAGEDOWN)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_THUMBTRACK)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_THUMBRELEASE)
+DEFINE_EVENT_TYPE(wxEVT_SCROLL_CHANGED)
+
+// see comments in wx/event.h, near wxEVT_SCROLL_ENDSCROLL declaration
+#if wxCHECK_VERSION(2, 7, 0)
+ #error "Remove the lines below, not needed any more"
+#endif
+#undef wxEVT_SCROLL_ENDSCROLL
+extern WXDLLIMPEXP_CORE const wxEventType wxEVT_SCROLL_ENDSCROLL;
+const wxEventType wxEVT_SCROLL_ENDSCROLL = wxEVT_SCROLL_CHANGED;
+
+// Scroll events from wxWindow
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_TOP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_BOTTOM)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_LINEUP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_LINEDOWN)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_PAGEUP)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_PAGEDOWN)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_THUMBTRACK)
+DEFINE_EVENT_TYPE(wxEVT_SCROLLWIN_THUMBRELEASE)
+
+// System events
+DEFINE_EVENT_TYPE(wxEVT_SIZE)
+DEFINE_EVENT_TYPE(wxEVT_SIZING)
+DEFINE_EVENT_TYPE(wxEVT_MOVE)
+DEFINE_EVENT_TYPE(wxEVT_MOVING)
+DEFINE_EVENT_TYPE(wxEVT_CLOSE_WINDOW)
+DEFINE_EVENT_TYPE(wxEVT_END_SESSION)
+DEFINE_EVENT_TYPE(wxEVT_QUERY_END_SESSION)
+DEFINE_EVENT_TYPE(wxEVT_HIBERNATE)
+DEFINE_EVENT_TYPE(wxEVT_ACTIVATE_APP)
+DEFINE_EVENT_TYPE(wxEVT_POWER)
+DEFINE_EVENT_TYPE(wxEVT_ACTIVATE)
+DEFINE_EVENT_TYPE(wxEVT_CREATE)
+DEFINE_EVENT_TYPE(wxEVT_DESTROY)
+DEFINE_EVENT_TYPE(wxEVT_SHOW)
+DEFINE_EVENT_TYPE(wxEVT_ICONIZE)
+DEFINE_EVENT_TYPE(wxEVT_MAXIMIZE)
+DEFINE_EVENT_TYPE(wxEVT_MOUSE_CAPTURE_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_PAINT)
+DEFINE_EVENT_TYPE(wxEVT_ERASE_BACKGROUND)
+DEFINE_EVENT_TYPE(wxEVT_NC_PAINT)
+DEFINE_EVENT_TYPE(wxEVT_PAINT_ICON)
+DEFINE_EVENT_TYPE(wxEVT_MENU_OPEN)
+DEFINE_EVENT_TYPE(wxEVT_MENU_CLOSE)
+DEFINE_EVENT_TYPE(wxEVT_MENU_HIGHLIGHT)
+DEFINE_EVENT_TYPE(wxEVT_CONTEXT_MENU)
+DEFINE_EVENT_TYPE(wxEVT_SYS_COLOUR_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_DISPLAY_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_SETTING_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_QUERY_NEW_PALETTE)
+DEFINE_EVENT_TYPE(wxEVT_PALETTE_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_JOY_BUTTON_DOWN)
+DEFINE_EVENT_TYPE(wxEVT_JOY_BUTTON_UP)
+DEFINE_EVENT_TYPE(wxEVT_JOY_MOVE)
+DEFINE_EVENT_TYPE(wxEVT_JOY_ZMOVE)
+DEFINE_EVENT_TYPE(wxEVT_DROP_FILES)
+DEFINE_EVENT_TYPE(wxEVT_DRAW_ITEM)
+DEFINE_EVENT_TYPE(wxEVT_MEASURE_ITEM)
+DEFINE_EVENT_TYPE(wxEVT_COMPARE_ITEM)
+DEFINE_EVENT_TYPE(wxEVT_INIT_DIALOG)
+DEFINE_EVENT_TYPE(wxEVT_UPDATE_UI)
+
+// Generic command events
+// Note: a click is a higher-level event than button down/up
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_LEFT_CLICK)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_LEFT_DCLICK)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_RIGHT_CLICK)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_RIGHT_DCLICK)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_SET_FOCUS)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_KILL_FOCUS)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_ENTER)
+
+// Help events
+DEFINE_EVENT_TYPE(wxEVT_HELP)
+DEFINE_EVENT_TYPE(wxEVT_DETAILED_HELP)
+
+#endif // !WXWIN_COMPATIBILITY_EVENT_TYPES
+
+#endif // wxUSE_GUI
+
+#if wxUSE_BASE
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// event initialization
+// ----------------------------------------------------------------------------
+
+int wxNewEventType()
+{
+ // MT-FIXME
+ static int s_lastUsedEventType = wxEVT_FIRST;
+
+ return s_lastUsedEventType++;
+}
+
+// ----------------------------------------------------------------------------
+// wxEvent
+// ----------------------------------------------------------------------------
+