ART(wxART_CUT, GTK_STOCK_CUT)
ART(wxART_PASTE, GTK_STOCK_PASTE)
ART(wxART_DELETE, GTK_STOCK_DELETE)
+ ART(wxART_NEW, GTK_STOCK_NEW)
ART(wxART_UNDO, GTK_STOCK_UNDO)
ART(wxART_REDO, GTK_STOCK_REDO)
else if (client == wxART_BUTTON)
return GTK_ICON_SIZE_BUTTON;
else
- return GTK_ICON_SIZE_BUTTON; // this is arbitrary
+ return GTK_ICON_SIZE_INVALID; // this is arbitrary
}
static GtkIconSize FindClosestIconSize(const wxSize& size)
s_sizes[5].icon = GTK_ICON_SIZE_DIALOG;
for (size_t i = 0; i < NUM_SIZES; i++)
{
- gtk_icon_size_lookup(s_sizes[i].icon,
+#if !defined(GDK_MULTITHREAD_SAFE)
+ gtk_icon_size_lookup(
+ s_sizes[i].icon,
+ &s_sizes[i].x, &s_sizes[i].y);
+#else
+#if GTK_VERSION_CHECK(2,2,0)
+ if (!gtk_verson_check(2,2,0))
+ gtk_icon_size_lookup_for_settings(
+ gtk_settings_get_for_screen(gdk_screen_get_default()),
+ s_sizes[i].icon,
+ &s_sizes[i].x, &s_sizes[i].y);
+ else
+#else // pre-GTK 2.2
+ {
+ // FIXME
+ gtk_icon_size_lookup(s_sizes[i].icon,
&s_sizes[i].x, &s_sizes[i].y);
+ }
+#endif
+#endif
}
s_sizesInitialized = true;
}
wxArtClientToIconSize(client) :
FindClosestIconSize(size);
+ // we must have some size, this is arbitrary
+ if (stocksize == GTK_ICON_SIZE_INVALID)
+ stocksize = GTK_ICON_SIZE_BUTTON;
+
// allow passing GTK+ stock IDs to wxArtProvider:
if (!stockid)
stockid = id.ToAscii();