+void wxComboBox::SetBackgroundColour( const wxColour &colour )
+{
+ return;
+
+ wxCHECK_RET( m_widget != NULL, "invalid combobox" );
+
+ m_backgroundColour = colour;
+ if (!m_backgroundColour.Ok()) return;
+
+ GtkStyle *style = gtk_widget_get_style( m_widget );
+ if (!m_hasOwnStyle)
+ {
+ m_hasOwnStyle = TRUE;
+ style = gtk_style_copy( gtk_widget_get_style( m_widget ) );
+ }
+
+ style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+ style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+
+ gtk_widget_set_style( m_widget, style );
+
+ gtk_widget_set_style( GTK_COMBO(m_widget)->button, gtk_style_ref( style ) );
+ gtk_widget_set_style( GTK_COMBO(m_widget)->entry, gtk_style_ref( style ) );
+ gtk_widget_set_style( GTK_COMBO(m_widget)->list, gtk_style_ref( style ) );
+
+ GList *child = GTK_LIST( GTK_COMBO(m_widget)->list )->children;
+ while (child)
+ {
+ GtkWidget *item = GTK_WIDGET(child->data);
+ gtk_widget_set_style( item, gtk_style_ref( style ) );
+ child = child->next;
+ }
+}
+