From d719605dacf008f249e6718197c8d7259384578e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 7 Sep 2007 11:02:04 +0000 Subject: [PATCH] implement missing get_cells method. (Spotted by Paolo Borelli). 2007-09-07 Kristian Rietveld * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init), (gtk_combo_box_cell_layout_get_cells): implement missing get_cells method. (Spotted by Paolo Borelli). svn path=/trunk/; revision=18747 --- ChangeLog | 6 ++++++ gtk/gtkcombobox.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0fdd4b9808..fab6466cee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-09-07 Kristian Rietveld + + * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init), + (gtk_combo_box_cell_layout_get_cells): implement missing get_cells + method. (Spotted by Paolo Borelli). + 2007-09-06 Matthias Clasen * configure.in: Check for cups.h. (#459732, Guillaume Cottenceau) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 6a440ff161..a8e4949d8a 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -408,6 +408,7 @@ static void gtk_combo_box_cell_layout_pack_start (GtkCellLayout static void gtk_combo_box_cell_layout_pack_end (GtkCellLayout *layout, GtkCellRenderer *cell, gboolean expand); +static GList *gtk_combo_box_cell_layout_get_cells (GtkCellLayout *layout); static void gtk_combo_box_cell_layout_clear (GtkCellLayout *layout); static void gtk_combo_box_cell_layout_add_attribute (GtkCellLayout *layout, GtkCellRenderer *cell, @@ -878,6 +879,7 @@ gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface) { iface->pack_start = gtk_combo_box_cell_layout_pack_start; iface->pack_end = gtk_combo_box_cell_layout_pack_end; + iface->get_cells = gtk_combo_box_cell_layout_get_cells; iface->clear = gtk_combo_box_cell_layout_clear; iface->add_attribute = gtk_combo_box_cell_layout_add_attribute; iface->set_cell_data_func = gtk_combo_box_cell_layout_set_cell_data_func; @@ -4129,6 +4131,27 @@ gtk_combo_box_cell_layout_pack_end (GtkCellLayout *layout, pack_end_recurse (combo_box->priv->popup_widget, cell, expand); } +static GList * +gtk_combo_box_cell_layout_get_cells (GtkCellLayout *layout) +{ + GSList *list; + GList *retval = NULL; + GtkComboBox *combo_box; + + g_return_val_if_fail (GTK_IS_COMBO_BOX (layout), NULL); + + combo_box = GTK_COMBO_BOX (layout); + + for (list = combo_box->priv->cells; list; list = list->next) + { + ComboCellInfo *info = (ComboCellInfo *)list->data; + + retval = g_list_prepend (retval, info->cell); + } + + return g_list_reverse (retval); +} + static void clear_recurse (GtkWidget *menu) {