X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/25272c0f2b9d435075a68895cb20799b87c1055f..b5123fb66f54f5c5019586c2042f993ae21eb0ae:/src/gtk/private.cpp diff --git a/src/gtk/private.cpp b/src/gtk/private.cpp index 37f4ecfef6..6c025795f0 100644 --- a/src/gtk/private.cpp +++ b/src/gtk/private.cpp @@ -115,44 +115,47 @@ GtkWidget *GetEntryWidget() // differently if the button is in a treeview. static GtkWidget *s_first_button = NULL; static GtkWidget *s_other_button = NULL; - -GtkWidget *GetHeaderButtonWidgetFirst() -{ +static GtkWidget *s_last_button = NULL; - if ( !s_first_button ) - { +static void CreateHeaderButtons() +{ // 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(); - + GtkTreeViewColumn *column = gtk_tree_view_column_new(); gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); s_first_button = column->button; - + column = gtk_tree_view_column_new(); gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); s_other_button = column->button; - } + + column = gtk_tree_view_column_new(); + gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); + s_last_button = column->button; +} + +GtkWidget *GetHeaderButtonWidgetFirst() +{ + if (!s_first_button) + CreateHeaderButtons(); return s_first_button; } +GtkWidget *GetHeaderButtonWidgetLast() +{ + if (!s_last_button) + CreateHeaderButtons(); + + return s_last_button; +} + GtkWidget *GetHeaderButtonWidget() { - if ( !s_other_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(); - - GtkTreeViewColumn *column = gtk_tree_view_column_new(); - gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); - s_first_button = column->button; - - column = gtk_tree_view_column_new(); - gtk_tree_view_append_column(GTK_TREE_VIEW(treewidget), column); - s_other_button = column->button; - } + if (!s_other_button) + CreateHeaderButtons(); return s_other_button; }