[gtk+/wip/matthiasc/n-children] Add a getter for the number of children
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/n-children] Add a getter for the number of children
- Date: Wed, 23 Aug 2017 13:23:37 +0000 (UTC)
commit b76b7e5cac1d2208a7bc96c392e882879fd91540
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Aug 22 14:15:28 2017 -0400
Add a getter for the number of children
Having this api will let us optimize things later.
For now, just iterate over the children.
docs/reference/gtk/gtk4-sections.txt | 1 +
gtk/gtkwidget.c | 22 ++++++++++++++++++++++
gtk/gtkwidget.h | 2 ++
3 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index d84ddf5..325226d 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4631,6 +4631,7 @@ gtk_widget_get_next_sibling
gtk_widget_get_prev_sibling
gtk_widget_get_first_child
gtk_widget_get_last_child
+gtk_widget_get_n_children
gtk_widget_insert_before
gtk_widget_insert_after
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index dbfaa8c..02f4145 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -15307,6 +15307,28 @@ gtk_widget_get_last_child (GtkWidget *widget)
}
/**
+ * gtk_widget_get_n_children:
+ * @widget: a #GtkWidget
+ *
+ * Returns: the number of children
+ *
+ * Since: 3.92
+ */
+guint
+gtk_widget_get_n_children (GtkWidget *widget)
+{
+ guint n = 0;
+ GtkWidget *child;
+
+ for (child = gtk_widget_get_first_child (widget);
+ child != NULL;
+ child = gtk-widget_get_next_sibling (child))
+ n++;
+
+ return n;
+}
+
+/**
* gtk_widget_get_next_sibling:
* @widget: a #GtkWidget
*
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index ff2aa77..89e51cf 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -1170,6 +1170,8 @@ GDK_AVAILABLE_IN_3_90
GtkWidget * gtk_widget_get_first_child (GtkWidget *widget);
GDK_AVAILABLE_IN_3_90
GtkWidget * gtk_widget_get_last_child (GtkWidget *widget);
+GDK_AVAILABLE_IN_3_92
+guint gtk_widget_get_n_children (GtkWidget *widget);
GDK_AVAILABLE_IN_3_90
GtkWidget * gtk_widget_get_next_sibling (GtkWidget *widget);
GDK_AVAILABLE_IN_3_90
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]