}
static GtkListTile *
-gtk_list_base_split_func (gpointer data,
+gtk_list_base_split_func (GtkWidget *widget,
GtkListTile *tile,
guint n_items)
{
- return GTK_LIST_BASE_GET_CLASS (data)->split (data, tile, n_items);
+ return GTK_LIST_BASE_GET_CLASS (widget)->split (GTK_LIST_BASE (widget), tile, n_items);
}
static void
priv->item_manager = gtk_list_item_manager_new (GTK_WIDGET (self),
g_class->list_item_name,
g_class->list_item_role,
- gtk_list_base_split_func,
- self);
+ gtk_list_base_split_func);
priv->anchor = gtk_list_item_tracker_new (priv->item_manager);
priv->anchor_side_along = GTK_PACK_START;
priv->anchor_side_across = GTK_PACK_START;
GtkRbTree *items;
GSList *trackers;
- GtkListTile * (* split_func) (gpointer, GtkListTile *, guint);
- gpointer user_data;
+ GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint);
};
struct _GtkListItemManagerClass
gtk_list_item_manager_new (GtkWidget *widget,
const char *item_css_name,
GtkAccessibleRole item_role,
- GtkListTile * (* split_func) (gpointer, GtkListTile *, guint),
- gpointer user_data)
+ GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint))
{
GtkListItemManager *self;
self->item_css_name = g_intern_string (item_css_name);
self->item_role = item_role;
self->split_func = split_func;
- self->user_data = user_data;
self->items = gtk_rb_tree_new_for_size (sizeof (GtkListTile),
sizeof (GtkListTileAugment),
GtkListTile *tile,
guint n_items)
{
- return self->split_func (self->user_data, tile, n_items);
+ return self->split_func (self->widget, tile, n_items);
}
static void
GtkListItemManager * gtk_list_item_manager_new (GtkWidget *widget,
const char *item_css_name,
GtkAccessibleRole item_role,
- GtkListTile * (* split_func) (gpointer, GtkListTile *, guint),
- gpointer user_data);
+ GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint));
void gtk_list_item_manager_get_tile_bounds (GtkListItemManager *self,
GdkRectangle *out_bounds);