summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <christopherdavis@gnome.org>2021-09-29 19:45:45 -0700
committerChristopher Davis <christopherdavis@gnome.org>2021-09-29 19:45:45 -0700
commit531a6b5e63bafd4256867dba066a799890321c3c (patch)
treeb00a50f913c554e7f9d20cdb01272649e893ab4e
parent502b3ceaa29663f70801920077bceaf4138b56d3 (diff)
downloadgtk+-wip/cdavis/flowbox-add-functions.tar.gz
gtkflowbox: Add insert() and append()wip/cdavis/flowbox-add-functions
These functions are common across container implementations, but GtkFlowBox was missing them. Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4277
-rw-r--r--gtk/gtkflowbox.c34
-rw-r--r--gtk/gtkflowbox.h6
2 files changed, 40 insertions, 0 deletions
diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index 188b76c562..d5928f6641 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -4073,6 +4073,40 @@ gtk_flow_box_insert_widget (GtkFlowBox *box,
}
/**
+ * gtk_flow_box_prepend:
+ * @box: a `GtkFlowBox
+ * @child: the `GtkWidget` to add
+ *
+ * Adds @widget to the start of @box
+ *
+ * If a sort function is set, the widget will
+ * actually be inserted at the calculated position.
+ */
+void
+gtk_flow_box_prepend (GtkFlowBox *box,
+ GtkWidget *child)
+{
+ gtk_flow_box_insert (box, child, 0);
+}
+
+/**
+ * gtk_flow_box_prepend:
+ * @box: a `GtkFlowBox
+ * @child: the `GtkWidget` to add
+ *
+ * Adds @widget to the end of @box
+ *
+ * If a sort function is set, the widget will
+ * actually be inserted at the calculated position.
+ */
+void
+gtk_flow_box_append (GtkFlowBox *box,
+ GtkWidget *child)
+{
+ gtk_flow_box_insert (box, child, -1);
+}
+
+/**
* gtk_flow_box_insert:
* @box: a `GtkFlowBox`
* @widget: the `GtkWidget` to add
diff --git a/gtk/gtkflowbox.h b/gtk/gtkflowbox.h
index 3625d18ddf..8577fc07f5 100644
--- a/gtk/gtkflowbox.h
+++ b/gtk/gtkflowbox.h
@@ -148,6 +148,12 @@ GDK_AVAILABLE_IN_ALL
gboolean gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box);
GDK_AVAILABLE_IN_ALL
+void gtk_flow_box_prepend (GtkFlowBox *box,
+ GtkWidget *child);
+GDK_AVAILABLE_IN_ALL
+void gtk_flow_box_append (GtkFlowBox *box,
+ GtkWidget *child);
+GDK_AVAILABLE_IN_ALL
void gtk_flow_box_insert (GtkFlowBox *box,
GtkWidget *widget,
int position);