summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-09-15 18:37:56 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-09-15 18:39:09 -0400
commitcc9fe4b354a6ae14f7f85d62d7807955d7a54799 (patch)
tree89f726cdfd85f4bc1ea722b16e58972fe963009b
parente4d29ba9fdfb78625dd792d9956783352b6b6208 (diff)
downloadgtk+-cc9fe4b354a6ae14f7f85d62d7807955d7a54799.tar.gz
stack: Add gtk_stack_add_childstack-add-child
The name of children is not essential, so add a way to add children without providing one. Fixes: #3165
-rw-r--r--docs/reference/gtk/gtk4-sections.txt1
-rw-r--r--docs/reference/gtk/migrating-3to4.md2
-rw-r--r--gtk/gtkstack.c19
-rw-r--r--gtk/gtkstack.h3
4 files changed, 24 insertions, 1 deletions
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index d3986d02d6..62d617d582 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -5975,6 +5975,7 @@ gtk_stack_page_set_icon_name
gtk_stack_page_get_child
GtkStack
gtk_stack_new
+gtk_stack_add_child
gtk_stack_add_named
gtk_stack_add_titled
gtk_stack_remove
diff --git a/docs/reference/gtk/migrating-3to4.md b/docs/reference/gtk/migrating-3to4.md
index 8f99501358..59800003b5 100644
--- a/docs/reference/gtk/migrating-3to4.md
+++ b/docs/reference/gtk/migrating-3to4.md
@@ -606,7 +606,7 @@ The replacements for gtk_container_add() are:
| GtkListBox | gtk_list_box_insert() |
| GtkNotebook | gtk_notebook_append_page() |
| GtkPaned | gtk_paned_set_start_child(), gtk_paned_set_end_child() |
-| GtkStack | gtk_stack_add_named() |
+| GtkStack | gtk_stack_add_child() |
| GtkTextView | gtk_text_view_add_child_at_anchor(), gtk_text_view_add_overlay() |
| GtkTreeView | - |
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c
index 75a2fa9e30..8fd95a39f1 100644
--- a/gtk/gtkstack.c
+++ b/gtk/gtkstack.c
@@ -1293,6 +1293,25 @@ gtk_stack_add_titled (GtkStack *stack,
}
/**
+ * gtk_stack_add_child:
+ * @stack: a #GtkStack
+ * @child: the widget to add
+ *
+ * Adds a child to @stack.
+ *
+ * Returns: (transfer none): the #GtkStackPage for @child
+ */
+GtkStackPage *
+gtk_stack_add_child (GtkStack *stack,
+ GtkWidget *child)
+{
+ g_return_val_if_fail (GTK_IS_STACK (stack), NULL);
+ g_return_val_if_fail (GTK_IS_WIDGET (child), NULL);
+
+ return gtk_stack_add_internal (stack, child, NULL, NULL);
+}
+
+/**
* gtk_stack_add_named:
* @stack: a #GtkStack
* @child: the widget to add
diff --git a/gtk/gtkstack.h b/gtk/gtkstack.h
index 6253890aa5..cf506b49fb 100644
--- a/gtk/gtkstack.h
+++ b/gtk/gtkstack.h
@@ -113,6 +113,9 @@ GType gtk_stack_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GtkWidget * gtk_stack_new (void);
GDK_AVAILABLE_IN_ALL
+GtkStackPage * gtk_stack_add_child (GtkStack *stack,
+ GtkWidget *child);
+GDK_AVAILABLE_IN_ALL
GtkStackPage * gtk_stack_add_named (GtkStack *stack,
GtkWidget *child,
const char *name);