- tool_pixmap = gtk_pixmap_new( pixmap, mask );
- }
-
- gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );
-
- GtkToolbarChildType ctype = GTK_TOOLBAR_CHILD_BUTTON;
- if (toggle) ctype = GTK_TOOLBAR_CHILD_TOGGLEBUTTON;
-
- tool->m_item = gtk_toolbar_append_element( m_toolbar, ctype, (GtkWidget *) NULL, (const char *) NULL, helpString1, "", tool_pixmap,
- (GtkSignalFunc)gtk_toolbar_callback, (gpointer)tool );
+ if ( tool->IsButton() )
+ {
+ wxBitmap bitmap = tool->GetBitmap1();
+
+ wxCHECK_MSG( bitmap.Ok(), FALSE,
+ wxT("invalid bitmap for wxToolBar icon") );
+
+ wxCHECK_MSG( bitmap.GetBitmap() == NULL, FALSE,
+ wxT("wxToolBar doesn't support GdkBitmap") );
+
+ wxCHECK_MSG( bitmap.GetPixmap() != NULL, FALSE,
+ wxT("wxToolBar::Add needs a wxBitmap") );
+
+ GtkWidget *tool_pixmap = (GtkWidget *)NULL;
+
+ GdkPixmap *pixmap = bitmap.GetPixmap();
+
+ GdkBitmap *mask = (GdkBitmap *)NULL;
+ if ( bitmap.GetMask() )
+ mask = bitmap.GetMask()->GetBitmap();
+
+ tool_pixmap = gtk_pixmap_new( pixmap, mask );
+#if (GTK_MINOR_VERSION > 0)
+ gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE );
+#endif
+
+ gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );