list: Make GtkListTile more prominent
authorBenjamin Otte <otte@redhat.com>
Wed, 22 Feb 2023 12:04:36 +0000 (13:04 +0100)
committerBenjamin Otte <otte.benjamin@googlemail.com>
Sun, 5 Mar 2023 15:23:20 +0000 (15:23 +0000)
* 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.

gtk/gtkgridview.c
gtk/gtklistitemmanager.c
gtk/gtklistitemmanagerprivate.h
gtk/gtklistview.c

index 2a892efee4ddc6de62522d6c248cd66dc100080c..9109c104b184b8a7d537964f522dd5be58af3ef6 100644 (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;
 }
 
index 7a741e4ca71efbbb535a1cf41605acfbdc9a975f..d4b1d3b7640a0ef310c364d9a0c0d666a7535228 100644 (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);
 }
index 15b08dfff41011046f657abd214043464bb61d15..d241412e071db0a794f7e7cc4d64cab75a5fe63c 100644 (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);
index 73f5d0fc67158ef88f1c31afec9f582a5aa61c22..4fc1b6ad3b97330bf1b0fd25170ceb280f8fae1d 100644 (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;