list: Make GtkListTile more prominent

* Instead of using a gpointer to refer to it, use the GtkListTile type.

* Use gtk_list_tile_get_foo() instead of
  gtk_list_item_manager_get_tile_foo() naming.
This commit is contained in:
Benjamin Otte 2023-02-22 13:04:36 +01:00 committed by Benjamin Otte
parent 55ad241f43
commit c705dba2ee
4 changed files with 19 additions and 18 deletions

View File

@ -233,7 +233,7 @@ gtk_grid_view_get_cell_at_y (GtkGridView *self,
tmp = gtk_rb_tree_node_get_left (cell);
if (tmp)
{
CellAugment *aug = gtk_list_item_manager_get_tile_augment (self->item_manager, tmp);
CellAugment *aug = (CellAugment *) gtk_list_tile_get_augment (self->item_manager, &tmp->parent);
if (y < aug->size)
{
cell = tmp;
@ -330,7 +330,7 @@ gtk_grid_view_get_allocation_along (GtkListBase *base,
tmp = gtk_rb_tree_node_get_left (cell);
if (tmp)
{
CellAugment *aug = gtk_list_item_manager_get_tile_augment (self->item_manager, tmp);
CellAugment *aug = (CellAugment *) gtk_list_tile_get_augment (self->item_manager, &tmp->parent);
if (pos < aug->parent.n_items)
{
cell = tmp;
@ -421,7 +421,7 @@ gtk_grid_view_compute_total_height (GtkGridView *self)
cell = gtk_list_item_manager_get_root (self->item_manager);
if (cell == NULL)
return 0;
aug = gtk_list_item_manager_get_tile_augment (self->item_manager, cell);
aug = (CellAugment *) gtk_list_tile_get_augment (self->item_manager, &cell->parent);
return aug->size;
}

View File

@ -203,8 +203,8 @@ gtk_list_item_manager_get_nth (GtkListItemManager *self,
}
guint
gtk_list_item_manager_get_tile_position (GtkListItemManager *self,
gpointer tile)
gtk_list_tile_get_position (GtkListItemManager *self,
GtkListTile *tile)
{
GtkListTile *parent, *left;
int pos;
@ -243,8 +243,8 @@ gtk_list_item_manager_get_tile_position (GtkListItemManager *self,
}
gpointer
gtk_list_item_manager_get_tile_augment (GtkListItemManager *self,
gpointer tile)
gtk_list_tile_get_augment (GtkListItemManager *self,
GtkListTile *tile)
{
return gtk_rb_tree_get_augment (self->items, tile);
}

View File

@ -76,10 +76,11 @@ gpointer gtk_list_item_manager_get_first (GtkListItemMana
gpointer gtk_list_item_manager_get_nth (GtkListItemManager *self,
guint position,
guint *offset);
guint gtk_list_item_manager_get_tile_position (GtkListItemManager *self,
gpointer tile);
gpointer gtk_list_item_manager_get_tile_augment (GtkListItemManager *self,
gpointer tile);
guint gtk_list_tile_get_position (GtkListItemManager *self,
GtkListTile *tile);
gpointer gtk_list_tile_get_augment (GtkListItemManager *self,
GtkListTile *tile);
void gtk_list_item_manager_set_factory (GtkListItemManager *self,
GtkListItemFactory *factory);

View File

@ -243,7 +243,7 @@ gtk_list_view_get_row_at_y (GtkListView *self,
tmp = gtk_rb_tree_node_get_left (row);
if (tmp)
{
ListRowAugment *aug = gtk_list_item_manager_get_tile_augment (self->item_manager, tmp);
ListRowAugment *aug = (ListRowAugment *) gtk_list_tile_get_augment (self->item_manager, &tmp->parent);
if (y < aug->height)
{
row = tmp;
@ -275,7 +275,7 @@ list_row_get_y (GtkListView *self,
left = gtk_rb_tree_node_get_left (row);
if (left)
{
ListRowAugment *aug = gtk_list_item_manager_get_tile_augment (self->item_manager, left);
ListRowAugment *aug = (ListRowAugment *) gtk_list_tile_get_augment (self->item_manager, &left->parent);
y = aug->height;
}
else
@ -291,7 +291,7 @@ list_row_get_y (GtkListView *self,
{
if (left)
{
ListRowAugment *aug = gtk_list_item_manager_get_tile_augment (self->item_manager, left);
ListRowAugment *aug = (ListRowAugment *) gtk_list_tile_get_augment (self->item_manager, &left->parent);
y += aug->height;
}
y += parent->height * parent->parent.n_items;
@ -313,7 +313,7 @@ gtk_list_view_get_list_height (GtkListView *self)
if (row == NULL)
return 0;
aug = gtk_list_item_manager_get_tile_augment (self->item_manager, row);
aug = (ListRowAugment *) gtk_list_tile_get_augment (self->item_manager, &row->parent);
return aug->height;
}
@ -385,12 +385,12 @@ gtk_list_view_get_items_in_rect (GtkListBase *base,
row = gtk_list_view_get_row_at_y (self, rect->y, NULL);
if (row)
first = gtk_list_item_manager_get_tile_position (self->item_manager, row);
first = gtk_list_tile_get_position (self->item_manager, &row->parent);
else
first = rect->y < 0 ? 0 : n_items - 1;
row = gtk_list_view_get_row_at_y (self, rect->y + rect->height, NULL);
if (row)
last = gtk_list_item_manager_get_tile_position (self->item_manager, row);
last = gtk_list_tile_get_position (self->item_manager, &row->parent);
else
last = rect->y + rect->height < 0 ? 0 : n_items - 1;
@ -433,7 +433,7 @@ gtk_list_view_get_position_from_allocation (GtkListBase *base,
if (row == NULL)
return FALSE;
*pos = gtk_list_item_manager_get_tile_position (self->item_manager, row);
*pos = gtk_list_tile_get_position (self->item_manager, &row->parent);
g_assert (remaining < row->height * row->parent.n_items);
*pos += remaining / row->height;