From: Robin Dunn Date: Tue, 10 Jul 2007 16:59:48 +0000 (+0000) Subject: Switch GetHeaderButtonWidget to use a real column header button. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c7a757aa56bb3eb47e14418f53579c4a8d9055dc?ds=inline Switch GetHeaderButtonWidget to use a real column header button. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/renderer.cpp b/src/gtk/renderer.cpp index 3fd5b87225..7323cb5c04 100644 --- a/src/gtk/renderer.cpp +++ b/src/gtk/renderer.cpp @@ -181,20 +181,22 @@ wxRendererGTK::GetTreeWidget() } -// This one just makes a button be a child of a tree widget. This is -// apparently how gtk themes decide to draw column headers differently than -// normal buttons. +// This one just gets the button used by the column header. Although it's +// still a gtk_button the themes will typically differentiate and draw them +// differently if the button is in a treeview. GtkWidget * wxRendererGTK::GetHeaderButtonWidget() { static GtkWidget *s_button = NULL; - + if ( !s_button ) { + // Get the dummy tree widget, give it a column, and then use the + // widget in the column header for the rendering code. GtkWidget* treewidget = GetTreeWidget(); - s_button = gtk_button_new(); - gtk_widget_set_parent( s_button, treewidget ); - gtk_widget_realize( s_button ); + GtkTreeViewColumn* column = gtk_tree_view_column_new(); + gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); + s_button = column->button; } return s_button;