const char *wxStockItemToGTK(wxStockItemID item)
{
- #define STOCKITEM(stockid) \
- case wx##stockid: \
- return GTK_##stockid; \
+ #define STOCKITEM(stockid) \
+ case wx##stockid: \
+ return GTK_##stockid; \
break;
+
+ #define STOCKITEM_MISSING(stockid) \
+ case wx##stockid: \
+ return wxEmptyString; \
+ break;
+
+ #if GTK_CHECK_VERSION(2,4,0)
+ #define STOCKITEM_24(stockid) STOCKITEM(stockid)
+ #else
+ #define STOCKITEM_24(stockid) STOCKITEM_MISSING(stockid)
+ #endif
switch (item)
{
STOCKITEM(STOCK_GO_UP)
STOCKITEM(STOCK_HELP)
STOCKITEM(STOCK_HOME)
- STOCKITEM(STOCK_INDENT)
+ STOCKITEM_24(STOCK_INDENT)
STOCKITEM(STOCK_INDEX)
STOCKITEM(STOCK_ITALIC)
STOCKITEM(STOCK_JUSTIFY_CENTER)
STOCKITEM(STOCK_UNDELETE)
STOCKITEM(STOCK_UNDERLINE)
STOCKITEM(STOCK_UNDO)
- STOCKITEM(STOCK_UNINDENT)
+ STOCKITEM_24(STOCK_UNINDENT)
STOCKITEM(STOCK_YES)
STOCKITEM(STOCK_ZOOM_100)
STOCKITEM(STOCK_ZOOM_FIT)
const wxValidator& validator, const wxString& name)
{
#ifdef __WXGTK20__
- m_widget = gtk_button_new_from_stock(wxStockItemToGTK(stock));
- return Create(parent, id, wxEmptyString,
- pos, wxDefaultSize, style, validator, name);
+ const char *gtkstock = wxStockItemToGTK(stock);
+ if (gtkstock)
+ {
+ m_widget = gtk_button_new_from_stock(gtkstock);
+ return Create(parent, id, wxEmptyString,
+ pos, wxDefaultSize, style, validator, name);
+ }
+ else
+ {
+ // not supported by this GTK+ version
+ return Create(parent, id, wxGetStockItemLabel(stock),
+ pos, wxDefaultSize, style, validator, name);
+ }
#else
return CreateStock(parent, id, stock, descriptiveLabel,
pos, style, validator, name);
const wxValidator& validator, const wxString& name)
{
#ifdef __WXGTK20__
- m_widget = gtk_button_new_from_stock(wxStockItemToGTK(stock));
- return Create(parent, id, wxEmptyString,
- pos, wxDefaultSize, style, validator, name);
+ const char *gtkstock = wxStockItemToGTK(stock);
+ if (gtkstock)
+ {
+ m_widget = gtk_button_new_from_stock(gtkstock);
+ return Create(parent, id, wxEmptyString,
+ pos, wxDefaultSize, style, validator, name);
+ }
+ else
+ {
+ // not supported by this GTK+ version
+ return Create(parent, id, wxGetStockItemLabel(stock),
+ pos, wxDefaultSize, style, validator, name);
+ }
#else
return CreateStock(parent, id, stock, descriptiveLabel,
pos, style, validator, name);