gtkflowbox: Add prepend() and append()

These functions are common across container implementations,
but GtkFlowBox was missing them.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4277
This commit is contained in:
Christopher Davis
2021-09-29 19:45:45 -07:00
parent 222d927e93
commit 454ca897bb
2 changed files with 54 additions and 0 deletions

View File

@@ -4072,6 +4072,54 @@ gtk_flow_box_insert_widget (GtkFlowBox *box,
gtk_widget_insert_after (child, GTK_WIDGET (box), sibling);
}
/**
* gtk_flow_box_prepend:
* @self: a `GtkFlowBox
* @child: the `GtkWidget` to add
*
* Adds @child to the start of @self.
*
* If a sort function is set, the widget will
* actually be inserted at the calculated position.
*
* See also: [method@Gtk.FlowBox.insert].
*
* Since: 4.6
*/
void
gtk_flow_box_prepend (GtkFlowBox *self,
GtkWidget *child)
{
g_return_if_fail (GTK_IS_FLOW_BOX (self));
g_return_if_fail (GTK_IS_WIDGET (child));
gtk_flow_box_insert (self, child, 0);
}
/**
* gtk_flow_box_append:
* @self: a `GtkFlowBox
* @child: the `GtkWidget` to add
*
* Adds @child to the end of @self.
*
* If a sort function is set, the widget will
* actually be inserted at the calculated position.
*
* See also: [method@Gtk.FlowBox.insert].
*
* Since: 4.6
*/
void
gtk_flow_box_append (GtkFlowBox *self,
GtkWidget *child)
{
g_return_if_fail (GTK_IS_FLOW_BOX (self));
g_return_if_fail (GTK_IS_WIDGET (child));
gtk_flow_box_insert (self, child, -1);
}
/**
* gtk_flow_box_insert:
* @box: a `GtkFlowBox`

View File

@@ -147,6 +147,12 @@ void gtk_flow_box_set_activate_on_single_click (GtkFlowBox
GDK_AVAILABLE_IN_ALL
gboolean gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box);
GDK_AVAILABLE_IN_4_6
void gtk_flow_box_prepend (GtkFlowBox *self,
GtkWidget *child);
GDK_AVAILABLE_IN_4_6
void gtk_flow_box_append (GtkFlowBox *self,
GtkWidget *child);
GDK_AVAILABLE_IN_ALL
void gtk_flow_box_insert (GtkFlowBox *box,
GtkWidget *widget,