propagate style changes correctly to buttons with images (#3939)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -381,6 +381,7 @@ wxGTK:
|
|||||||
- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
|
- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
|
||||||
- Added gtk.tlw.can-set-transparency system option.
|
- Added gtk.tlw.can-set-transparency system option.
|
||||||
- Added support for GTK+ print backend
|
- Added support for GTK+ print backend
|
||||||
|
- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
|
||||||
|
|
||||||
wxMac:
|
wxMac:
|
||||||
|
|
||||||
|
@@ -246,7 +246,21 @@ GdkWindow *wxButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
|
|||||||
void wxButton::DoApplyWidgetStyle(GtkRcStyle *style)
|
void wxButton::DoApplyWidgetStyle(GtkRcStyle *style)
|
||||||
{
|
{
|
||||||
gtk_widget_modify_style(m_widget, style);
|
gtk_widget_modify_style(m_widget, style);
|
||||||
gtk_widget_modify_style(GTK_BIN(m_widget)->child, style);
|
GtkWidget *child = GTK_BIN(m_widget)->child;
|
||||||
|
gtk_widget_modify_style(child, style);
|
||||||
|
|
||||||
|
// for buttons with images, the path to the label is (at least in 2.12)
|
||||||
|
// GtkButton -> GtkAlignment -> GtkHBox -> GtkLabel
|
||||||
|
if ( GTK_IS_ALIGNMENT(child) )
|
||||||
|
{
|
||||||
|
GtkWidget *box = GTK_BIN(child)->child;
|
||||||
|
if ( GTK_IS_BOX(box) )
|
||||||
|
{
|
||||||
|
GList *items = gtk_container_get_children(GTK_CONTAINER(box));
|
||||||
|
for ( GList *item = items; item; item = item->next )
|
||||||
|
gtk_widget_modify_style(GTK_WIDGET(item->data), style);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxSize wxButton::DoGetBestSize() const
|
wxSize wxButton::DoGetBestSize() const
|
||||||
|
Reference in New Issue
Block a user