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)
|
const char *wxStockItemToGTK(wxStockItemID item)
|
||||||
{
|
{
|
||||||
#define STOCKITEM(stockid) \
|
#define STOCKITEM(stockid) \
|
||||||
case wx##stockid: \
|
case wx##stockid: \
|
||||||
return GTK_##stockid; \
|
return GTK_##stockid; \
|
||||||
break;
|
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)
|
switch (item)
|
||||||
{
|
{
|
||||||
@@ -133,7 +144,7 @@ const char *wxStockItemToGTK(wxStockItemID item)
|
|||||||
STOCKITEM(STOCK_GO_UP)
|
STOCKITEM(STOCK_GO_UP)
|
||||||
STOCKITEM(STOCK_HELP)
|
STOCKITEM(STOCK_HELP)
|
||||||
STOCKITEM(STOCK_HOME)
|
STOCKITEM(STOCK_HOME)
|
||||||
STOCKITEM(STOCK_INDENT)
|
STOCKITEM_24(STOCK_INDENT)
|
||||||
STOCKITEM(STOCK_INDEX)
|
STOCKITEM(STOCK_INDEX)
|
||||||
STOCKITEM(STOCK_ITALIC)
|
STOCKITEM(STOCK_ITALIC)
|
||||||
STOCKITEM(STOCK_JUSTIFY_CENTER)
|
STOCKITEM(STOCK_JUSTIFY_CENTER)
|
||||||
@@ -160,7 +171,7 @@ const char *wxStockItemToGTK(wxStockItemID item)
|
|||||||
STOCKITEM(STOCK_UNDELETE)
|
STOCKITEM(STOCK_UNDELETE)
|
||||||
STOCKITEM(STOCK_UNDERLINE)
|
STOCKITEM(STOCK_UNDERLINE)
|
||||||
STOCKITEM(STOCK_UNDO)
|
STOCKITEM(STOCK_UNDO)
|
||||||
STOCKITEM(STOCK_UNINDENT)
|
STOCKITEM_24(STOCK_UNINDENT)
|
||||||
STOCKITEM(STOCK_YES)
|
STOCKITEM(STOCK_YES)
|
||||||
STOCKITEM(STOCK_ZOOM_100)
|
STOCKITEM(STOCK_ZOOM_100)
|
||||||
STOCKITEM(STOCK_ZOOM_FIT)
|
STOCKITEM(STOCK_ZOOM_FIT)
|
||||||
|
@@ -157,9 +157,19 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, wxStockItemID stock,
|
|||||||
const wxValidator& validator, const wxString& name)
|
const wxValidator& validator, const wxString& name)
|
||||||
{
|
{
|
||||||
#ifdef __WXGTK20__
|
#ifdef __WXGTK20__
|
||||||
m_widget = gtk_button_new_from_stock(wxStockItemToGTK(stock));
|
const char *gtkstock = wxStockItemToGTK(stock);
|
||||||
return Create(parent, id, wxEmptyString,
|
if (gtkstock)
|
||||||
pos, wxDefaultSize, style, validator, name);
|
{
|
||||||
|
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
|
#else
|
||||||
return CreateStock(parent, id, stock, descriptiveLabel,
|
return CreateStock(parent, id, stock, descriptiveLabel,
|
||||||
pos, style, validator, name);
|
pos, style, validator, name);
|
||||||
|
@@ -157,9 +157,19 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, wxStockItemID stock,
|
|||||||
const wxValidator& validator, const wxString& name)
|
const wxValidator& validator, const wxString& name)
|
||||||
{
|
{
|
||||||
#ifdef __WXGTK20__
|
#ifdef __WXGTK20__
|
||||||
m_widget = gtk_button_new_from_stock(wxStockItemToGTK(stock));
|
const char *gtkstock = wxStockItemToGTK(stock);
|
||||||
return Create(parent, id, wxEmptyString,
|
if (gtkstock)
|
||||||
pos, wxDefaultSize, style, validator, name);
|
{
|
||||||
|
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
|
#else
|
||||||
return CreateStock(parent, id, stock, descriptiveLabel,
|
return CreateStock(parent, id, stock, descriptiveLabel,
|
||||||
pos, style, validator, name);
|
pos, style, validator, name);
|
||||||
|
Reference in New Issue
Block a user