static void cg_combo_flags_cell_layout_clear_attributes (GtkCellLayout *layout, GtkCellRenderer *cell) { CgComboFlags *combo; CgComboFlagsPrivate *priv; CgComboFlagsCellInfo *info; GSList *list; combo = CG_COMBO_FLAGS (layout); priv = CG_COMBO_FLAGS_PRIVATE (combo); info = cg_combo_flags_get_cell_info (combo, cell); g_return_if_fail (info != NULL); list = info->attributes; while (list && list->next) { g_free (list->data); list = list->next->next; } g_slist_free (info->attributes); info->attributes = NULL; if (priv->column != NULL) { gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->column), cell); } gtk_widget_queue_resize (GTK_WIDGET (combo)); }
static void gtk_cell_layout_default_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell) { GtkCellLayoutIface *iface; GtkCellArea *area; iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); if (iface->get_area) { area = iface->get_area (cell_layout); if (area) gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); else warn_no_cell_area ("GtkCellLayoutIface->clear_attributes()"); } }
static void gtk_cell_layout_set_attributesv (GtkCellLayout *cell_layout, GtkCellRenderer *cell, va_list args) { gchar *attribute; gint column; attribute = va_arg (args, gchar *); gtk_cell_layout_clear_attributes (cell_layout, cell); while (attribute != NULL) { column = va_arg (args, gint); gtk_cell_layout_add_attribute (cell_layout, cell, attribute, column); attribute = va_arg (args, gchar *); } }
static VALUE rg_clear_attributes(VALUE self, VALUE cell) { gtk_cell_layout_clear_attributes(_SELF(self), RVAL2RENDERER(cell)); return self; }