From 3407c31bebdf9eafa5f3d7fcfe286ec68619174d Mon Sep 17 00:00:00 2001 From: Chris Shoemaker Date: Thu, 9 Feb 2006 01:47:26 +0000 Subject: [PATCH] Factor out an "approved" method for getting the GtkCellRenderer from a GtkTreeViewColumn that's been added to a GncTreeView with one of the convenience functions. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@13156 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/gnome-utils/gnc-tree-view.c | 23 ++++++++++++++++++----- src/gnome-utils/gnc-tree-view.h | 10 ++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/gnome-utils/gnc-tree-view.c b/src/gnome-utils/gnc-tree-view.c index 36c83f7b43..43c9c798b4 100644 --- a/src/gnome-utils/gnc-tree-view.c +++ b/src/gnome-utils/gnc-tree-view.c @@ -1999,6 +1999,23 @@ gnc_tree_view_add_combo_column (GncTreeView *view, } #endif +GtkCellRenderer * +gnc_tree_view_column_get_renderer(GtkTreeViewColumn *column) +{ + GList *renderers; + GtkCellRenderer *cr = NULL; + + g_return_val_if_fail(GTK_TREE_VIEW_COLUMN(column), NULL); + + /* Get the list of one renderer */ + renderers = gtk_tree_view_column_get_cell_renderers(column); + if (g_list_length(renderers) > 0) + cr = GTK_CELL_RENDERER(renderers->data); + g_list_free(renderers); + + return cr; +} + /** This function adds a new numeric column to a GncTreeView base * view. It takes all the parameters necessary to hook a * GtkTreeModel column to a GtkTreeViewColumn. If the tree has a @@ -2021,17 +2038,13 @@ gnc_tree_view_add_numeric_column (GncTreeView *view, { GtkTreeViewColumn *column; GtkCellRenderer *renderer; - GList *renderers; column = gnc_tree_view_add_text_column (view, column_title, pref_name, NULL, sizing_text, model_data_column, model_visibility_column, column_sort_fn); - /* Get the list of one renderer */ - renderers = gtk_tree_view_column_get_cell_renderers(column); - renderer = renderers->data; - g_list_free(renderers); + renderer = gnc_tree_view_column_get_renderer(column); /* Right align the column title and data */ g_object_set(G_OBJECT(column), "alignment", 1.0, NULL); diff --git a/src/gnome-utils/gnc-tree-view.h b/src/gnome-utils/gnc-tree-view.h index 96660fae9a..cef568ce00 100644 --- a/src/gnome-utils/gnc-tree-view.h +++ b/src/gnome-utils/gnc-tree-view.h @@ -359,6 +359,16 @@ gnc_tree_view_set_show_column_menu (GncTreeView *view, gboolean gnc_tree_view_get_show_column_menu (GncTreeView *view); +/** Return the "main" cell renderer from a GtkTreeViewColumn added to + * a GncTreeView my one of the convenience routines. + * + * @param column The tree view column that was added to the GncTreeView + * + * @returns The cell renderer in use in the column. + */ +GtkCellRenderer * +gnc_tree_view_column_get_renderer(GtkTreeViewColumn *column); + /** @} */ /** @} */