fixes for stock items not known to some GTK+ versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -109,10 +109,21 @@ wxString wxGetStockItemLabel(wxStockItemID item)
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -133,7 +144,7 @@ const char *wxStockItemToGTK(wxStockItemID 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)
|
||||
@@ -160,7 +171,7 @@ const char *wxStockItemToGTK(wxStockItemID item)
|
||||
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)
|
||||
|
@@ -157,9 +157,19 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, wxStockItemID stock,
|
||||
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);
|
||||
|
@@ -157,9 +157,19 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, wxStockItemID stock,
|
||||
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);
|
||||
|
Reference in New Issue
Block a user