+#include "wx/bitmap.h"
+#include "wx/menu.h"
+
+#if wxUSE_ACCEL
+ #include "wx/accel.h"
+#endif // wxUSE_ACCEL
+
+#include "wx/gtk/private.h"
+
+#include <gdk/gdkkeysyms.h>
+
+// FIXME: is this right? somehow I don't think so (VZ)
+#ifdef __WXGTK20__
+ #include <glib-object.h>
+
+ #define gtk_accel_group_attach(g, o) _gtk_accel_group_attach((g), (o))
+ #define gtk_accel_group_detach(g, o) _gtk_accel_group_detach((g), (o))
+ #define gtk_menu_ensure_uline_accel_group(m) gtk_menu_get_accel_group(m)
+
+ #define ACCEL_OBJECT GObject
+ #define ACCEL_OBJECTS(a) (a)->acceleratables
+ #define ACCEL_OBJ_CAST(obj) G_OBJECT(obj)
+#else // GTK+ 1.x
+ #define ACCEL_OBJECT GtkObject
+ #define ACCEL_OBJECTS(a) (a)->attach_objects
+ #define ACCEL_OBJ_CAST(obj) GTK_OBJECT(obj)
+#endif
+
+//-----------------------------------------------------------------------------
+// idle system
+//-----------------------------------------------------------------------------
+
+extern void wxapp_install_idle_handler();
+extern bool g_isIdle;
+
+#if GTK_CHECK_VERSION(1, 2, 0) && wxUSE_ACCEL
+ static wxString GetHotKey( const wxMenuItem& item );
+#endif
+
+//-----------------------------------------------------------------------------
+// substitute for missing GtkPixmapMenuItem
+//-----------------------------------------------------------------------------
+
+// FIXME: I can't make this compile with GTK+ 2.0, disabling for now (VZ)
+#ifndef __WXGTK20__
+ #define USE_MENU_BITMAPS
+#endif
+
+#ifdef USE_MENU_BITMAPS
+
+#define GTK_TYPE_PIXMAP_MENU_ITEM (gtk_pixmap_menu_item_get_type ())
+#define GTK_PIXMAP_MENU_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PIXMAP_MENU_ITEM, GtkPixmapMenuItem))
+#define GTK_PIXMAP_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PIXMAP_MENU_ITEM, GtkPixmapMenuItemClass))
+#define GTK_IS_PIXMAP_MENU_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PIXMAP_MENU_ITEM))
+#define GTK_IS_PIXMAP_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PIXMAP_MENU_ITEM))
+//#define GTK_PIXMAP_MENU_ITEM_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_PIXMAP_MENU_ITEM))
+#define GTK_PIXMAP_MENU_ITEM_GET_CLASS(obj) (GTK_PIXMAP_MENU_ITEM_CLASS( GTK_OBJECT_GET_CLASS(obj)))
+
+#ifndef GTK_MENU_ITEM_GET_CLASS
+#define GTK_MENU_ITEM_GET_CLASS(obj) (GTK_MENU_ITEM_CLASS( GTK_OBJECT_GET_CLASS(obj)))
+#endif
+
+typedef struct _GtkPixmapMenuItem GtkPixmapMenuItem;
+typedef struct _GtkPixmapMenuItemClass GtkPixmapMenuItemClass;
+
+struct _GtkPixmapMenuItem
+{
+ GtkMenuItem menu_item;