[gtk/wip/baedert/box2: 1/3] box: Remove gtk_box_pack_start



commit e041eedefb996d995e2cd57e3c2cc260897b21e9
Author: Timm Bäder <mail baedert org>
Date:   Sat Dec 29 09:49:24 2018 +0100

    box: Remove gtk_box_pack_start

 demos/gtk-demo/assistant.c            |   6 +-
 demos/gtk-demo/button_box.c           |  28 ++++----
 demos/gtk-demo/changedisplay.c        |  12 ++--
 demos/gtk-demo/clipboard.c            |  20 +++---
 demos/gtk-demo/colorsel.c             |   4 +-
 demos/gtk-demo/combobox.c             |   8 +--
 demos/gtk-demo/dialog.c               |  20 +++---
 demos/gtk-demo/dnd.c                  |   2 +-
 demos/gtk-demo/drawingarea.c          |   8 +--
 demos/gtk-demo/editable_cells.c       |  10 +--
 demos/gtk-demo/entry_buffer.c         |   6 +-
 demos/gtk-demo/entry_completion.c     |   4 +-
 demos/gtk-demo/iconview.c             |   4 +-
 demos/gtk-demo/images.c               |  24 +++----
 demos/gtk-demo/infobar.c              |  26 ++++----
 demos/gtk-demo/list_store.c           |   4 +-
 demos/gtk-demo/listbox.c              |   4 +-
 demos/gtk-demo/menus.c                |   8 +--
 demos/gtk-demo/overlay.c              |   4 +-
 demos/gtk-demo/panes.c                |   6 +-
 demos/gtk-demo/search_entry.c         |   8 +--
 demos/gtk-demo/search_entry2.c        |  20 +++---
 demos/gtk-demo/sidebar.c              |   6 +-
 demos/gtk-demo/sizegroup.c            |   6 +-
 demos/gtk-demo/spinner.c              |   2 +-
 demos/gtk-demo/textscroll.c           |   2 +-
 demos/gtk-demo/tree_store.c           |   4 +-
 demos/widget-factory/widget-factory.c |   8 +--
 docs/reference/gtk/gtk4-sections.txt  |   1 -
 docs/tools/widgets.c                  | 122 +++++++++++++++++-----------------
 examples/search-bar.c                 |   4 +-
 gtk/gtkbox.c                          |  35 +---------
 gtk/gtkbox.h                          |   4 --
 33 files changed, 198 insertions(+), 232 deletions(-)
---
diff --git a/demos/gtk-demo/assistant.c b/demos/gtk-demo/assistant.c
index f152a471bd..36c16e21ff 100644
--- a/demos/gtk-demo/assistant.c
+++ b/demos/gtk-demo/assistant.c
@@ -96,12 +96,12 @@ create_page1 (GtkWidget *assistant)
   box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
 
   label = gtk_label_new ("You must fill out this entry to continue:");
-  gtk_box_pack_start (GTK_BOX (box), label);
+  gtk_container_add (GTK_CONTAINER (box), label);
 
   entry = gtk_entry_new ();
   gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
   gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (box), entry);
+  gtk_container_add (GTK_CONTAINER (box), entry);
   g_signal_connect (G_OBJECT (entry), "changed",
                     G_CALLBACK (on_entry_changed), assistant);
 
@@ -119,7 +119,7 @@ create_page2 (GtkWidget *assistant)
 
   checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
                                                  "even if you do not check this");
-  gtk_box_pack_start (GTK_BOX (box), checkbutton);
+  gtk_container_add (GTK_CONTAINER (box), checkbutton);
 
   gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
   gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c
index 78fb52b0e7..1dd1b9a65b 100644
--- a/demos/gtk-demo/button_box.c
+++ b/demos/gtk-demo/button_box.c
@@ -70,51 +70,51 @@ do_button_box (GtkWidget *do_widget)
     frame_horz = gtk_frame_new ("Horizontal Button Boxes");
     gtk_widget_set_margin_top (frame_horz, 10);
     gtk_widget_set_margin_bottom (frame_horz, 10);
-    gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz);
+    gtk_container_add (GTK_CONTAINER (main_vbox), frame_horz);
 
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
     g_object_set (vbox, "margin", 10, NULL);
     gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD));
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE));
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START));
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END));
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "Center", 40, GTK_BUTTONBOX_CENTER));
 
-    gtk_box_pack_start (GTK_BOX (vbox),
+    gtk_container_add (GTK_CONTAINER (vbox),
                         create_bbox (TRUE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
 
     frame_vert = gtk_frame_new ("Vertical Button Boxes");
-    gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert);
+    gtk_container_add (GTK_CONTAINER (main_vbox), frame_vert);
 
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
     g_object_set (hbox, "margin", 10, NULL);
     gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
 
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "Spread", 10, GTK_BUTTONBOX_SPREAD));
 
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "Edge", 10, GTK_BUTTONBOX_EDGE));
 
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "Start", 10, GTK_BUTTONBOX_START));
 
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "End", 10, GTK_BUTTONBOX_END));
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "Center", 10, GTK_BUTTONBOX_CENTER));
-    gtk_box_pack_start (GTK_BOX (hbox),
+    gtk_container_add (GTK_CONTAINER (hbox),
                         create_bbox (FALSE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
   }
 
diff --git a/demos/gtk-demo/changedisplay.c b/demos/gtk-demo/changedisplay.c
index caa1995340..99e8540667 100644
--- a/demos/gtk-demo/changedisplay.c
+++ b/demos/gtk-demo/changedisplay.c
@@ -315,7 +315,7 @@ create_frame (ChangeDisplayInfo *info,
                                   GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
   gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin),
                                        GTK_SHADOW_IN);
-  gtk_box_pack_start (GTK_BOX (hbox), scrollwin);
+  gtk_container_add (GTK_CONTAINER (hbox), scrollwin);
 
   *tree_view = gtk_tree_view_new ();
   gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (*tree_view), FALSE);
@@ -325,7 +325,7 @@ create_frame (ChangeDisplayInfo *info,
   gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
 
   *button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
-  gtk_box_pack_start (GTK_BOX (hbox), *button_vbox);
+  gtk_container_add (GTK_CONTAINER (hbox), *button_vbox);
 
   if (!info->size_group)
     info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
@@ -365,11 +365,11 @@ create_display_frame (ChangeDisplayInfo *info)
 
   button = left_align_button_new ("_Open...");
   g_signal_connect (button, "clicked",  G_CALLBACK (open_display_cb), info);
-  gtk_box_pack_start (GTK_BOX (button_vbox), button);
+  gtk_container_add (GTK_CONTAINER (button_vbox), button);
 
   button = left_align_button_new ("_Close");
   g_signal_connect (button, "clicked",  G_CALLBACK (close_display_cb), info);
-  gtk_box_pack_start (GTK_BOX (button_vbox), button);
+  gtk_container_add (GTK_CONTAINER (button_vbox), button);
 
   info->display_model = (GtkTreeModel *)gtk_list_store_new (DISPLAY_NUM_COLUMNS,
                                                             G_TYPE_STRING,
@@ -542,10 +542,10 @@ do_changedisplay (GtkWidget *do_widget)
 
       vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
       g_object_set (vbox, "margin", 8, NULL);
-      gtk_box_pack_start (GTK_BOX (content_area), vbox);
+      gtk_container_add (GTK_CONTAINER (content_area), vbox);
 
       frame = create_display_frame (info);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       initialize_displays (info);
 
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index 658c716c4d..b83f42cf7c 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -259,45 +259,45 @@ do_clipboard (GtkWidget *do_widget)
 
       label = gtk_label_new ("\"Copy\" will copy the text\nin the entry to the clipboard");
 
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
       g_object_set (hbox, "margin", 8, NULL);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       /* Create the first entry */
       entry = gtk_entry_new ();
-      gtk_box_pack_start (GTK_BOX (hbox), entry);
+      gtk_container_add (GTK_CONTAINER (hbox), entry);
 
       /* Create the button */
       button = gtk_button_new_with_mnemonic (_("_Copy"));
-      gtk_box_pack_start (GTK_BOX (hbox), button);
+      gtk_container_add (GTK_CONTAINER (hbox), button);
       g_signal_connect (button, "clicked",
                         G_CALLBACK (copy_button_clicked), entry);
 
       label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
       g_object_set (hbox, "margin", 8, NULL);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       /* Create the second entry */
       entry = gtk_entry_new ();
-      gtk_box_pack_start (GTK_BOX (hbox), entry);
+      gtk_container_add (GTK_CONTAINER (hbox), entry);
 
       /* Create the button */
       button = gtk_button_new_with_mnemonic (_("_Paste"));
-      gtk_box_pack_start (GTK_BOX (hbox), button);
+      gtk_container_add (GTK_CONTAINER (hbox), button);
       g_signal_connect (button, "clicked",
                         G_CALLBACK (paste_button_clicked), entry);
 
       label = gtk_label_new ("Images can be transferred via the clipboard, too");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
       g_object_set (hbox, "margin", 8, NULL);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       /* Create the first image */
       image = gtk_image_new_from_icon_name ("dialog-warning");
diff --git a/demos/gtk-demo/colorsel.c b/demos/gtk-demo/colorsel.c
index 2fab26899f..8b5c2e0ce8 100644
--- a/demos/gtk-demo/colorsel.c
+++ b/demos/gtk-demo/colorsel.c
@@ -88,7 +88,7 @@ do_colorsel (GtkWidget *do_widget)
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       da = gtk_drawing_area_new ();
       gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (da), 200);
@@ -101,7 +101,7 @@ do_colorsel (GtkWidget *do_widget)
       gtk_widget_set_halign (button, GTK_ALIGN_END);
       gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
 
-      gtk_box_pack_start (GTK_BOX (vbox), button);
+      gtk_container_add (GTK_CONTAINER (vbox), button);
 
       g_signal_connect (button, "clicked",
                         G_CALLBACK (change_color_callback), NULL);
diff --git a/demos/gtk-demo/combobox.c b/demos/gtk-demo/combobox.c
index 7b4e7543b4..1702a71ee0 100644
--- a/demos/gtk-demo/combobox.c
+++ b/demos/gtk-demo/combobox.c
@@ -326,7 +326,7 @@ do_combobox (GtkWidget *do_widget)
      *  insensitive rows
      */
     frame = gtk_frame_new ("Items with icons");
-    gtk_box_pack_start (GTK_BOX (vbox), frame);
+    gtk_container_add (GTK_CONTAINER (vbox), frame);
 
     box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     g_object_set (box, "margin", 5, NULL);
@@ -367,7 +367,7 @@ do_combobox (GtkWidget *do_widget)
     /* A combobox demonstrating trees.
      */
     frame = gtk_frame_new ("Where are we ?");
-    gtk_box_pack_start (GTK_BOX (vbox), frame);
+    gtk_container_add (GTK_CONTAINER (vbox), frame);
 
     box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     g_object_set (box, "margin", 5, NULL);
@@ -395,7 +395,7 @@ do_combobox (GtkWidget *do_widget)
 
     /* A GtkComboBoxEntry with validation */
     frame = gtk_frame_new ("Editable");
-    gtk_box_pack_start (GTK_BOX (vbox), frame);
+    gtk_container_add (GTK_CONTAINER (vbox), frame);
 
     box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     g_object_set (box, "margin", 5, NULL);
@@ -413,7 +413,7 @@ do_combobox (GtkWidget *do_widget)
 
     /* A combobox with string IDs */
     frame = gtk_frame_new ("String IDs");
-    gtk_box_pack_start (GTK_BOX (vbox), frame);
+    gtk_container_add (GTK_CONTAINER (vbox), frame);
 
     box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
     g_object_set (box, "margin", 5, NULL);
diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c
index 0f2e00ae5e..1993d62392 100644
--- a/demos/gtk-demo/dialog.c
+++ b/demos/gtk-demo/dialog.c
@@ -56,16 +56,16 @@ interactive_dialog_clicked (GtkButton *button,
   content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 
   hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
-  gtk_box_pack_start (GTK_BOX (content_area), hbox);
+  gtk_container_add (GTK_CONTAINER (content_area), hbox);
 
   image = gtk_image_new_from_icon_name ("dialog-question");
   gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
-  gtk_box_pack_start (GTK_BOX (hbox), image);
+  gtk_container_add (GTK_CONTAINER (hbox), image);
 
   table = gtk_grid_new ();
   gtk_grid_set_row_spacing (GTK_GRID (table), 4);
   gtk_grid_set_column_spacing (GTK_GRID (table), 4);
-  gtk_box_pack_start (GTK_BOX (hbox), table);
+  gtk_container_add (GTK_CONTAINER (hbox), table);
   label = gtk_label_new_with_mnemonic ("_Entry 1");
   gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
   local_entry1 = gtk_entry_new ();
@@ -123,29 +123,29 @@ do_dialog (GtkWidget *do_widget)
 
       /* Standard message dialog */
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
       button = gtk_button_new_with_mnemonic ("_Message Dialog");
       g_signal_connect (button, "clicked",
                         G_CALLBACK (message_dialog_clicked), NULL);
-      gtk_box_pack_start (GTK_BOX (hbox), button);
+      gtk_container_add (GTK_CONTAINER (hbox), button);
 
-      gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
+      gtk_container_add (GTK_CONTAINER (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
 
       /* Interactive dialog*/
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
       vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
       button = gtk_button_new_with_mnemonic ("_Interactive Dialog");
       g_signal_connect (button, "clicked",
                         G_CALLBACK (interactive_dialog_clicked), NULL);
-      gtk_box_pack_start (GTK_BOX (hbox), vbox2);
-      gtk_box_pack_start (GTK_BOX (vbox2), button);
+      gtk_container_add (GTK_CONTAINER (hbox), vbox2);
+      gtk_container_add (GTK_CONTAINER (vbox2), button);
 
       table = gtk_grid_new ();
       gtk_grid_set_row_spacing (GTK_GRID (table), 4);
       gtk_grid_set_column_spacing (GTK_GRID (table), 4);
-      gtk_box_pack_start (GTK_BOX (hbox), table);
+      gtk_container_add (GTK_CONTAINER (hbox), table);
 
       label = gtk_label_new_with_mnemonic ("_Entry 1");
       gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
diff --git a/demos/gtk-demo/dnd.c b/demos/gtk-demo/dnd.c
index e13cc6be95..24d70f9678 100644
--- a/demos/gtk-demo/dnd.c
+++ b/demos/gtk-demo/dnd.c
@@ -352,7 +352,7 @@ do_dnd (GtkWidget *do_widget)
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
       fixed = gtk_fixed_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), fixed);
+      gtk_container_add (GTK_CONTAINER (vbox), fixed);
       gtk_widget_set_hexpand (fixed, TRUE);
       gtk_widget_set_vexpand (fixed, TRUE);
 
diff --git a/demos/gtk-demo/drawingarea.c b/demos/gtk-demo/drawingarea.c
index 12967daa44..7c09677577 100644
--- a/demos/gtk-demo/drawingarea.c
+++ b/demos/gtk-demo/drawingarea.c
@@ -208,12 +208,12 @@ do_drawingarea (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Checkerboard pattern</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_vexpand (frame, TRUE);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       da = gtk_drawing_area_new ();
       gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (da), 100);
@@ -228,12 +228,12 @@ do_drawingarea (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Scribble area</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_widget_set_vexpand (frame, TRUE);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       da = gtk_drawing_area_new ();
       gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (da), 100);
diff --git a/demos/gtk-demo/editable_cells.c b/demos/gtk-demo/editable_cells.c
index a86d5c67ec..f3fe0a6e2c 100644
--- a/demos/gtk-demo/editable_cells.c
+++ b/demos/gtk-demo/editable_cells.c
@@ -356,7 +356,7 @@ do_editable_cells (GtkWidget *do_widget)
       g_object_set (vbox, "margin", 5, NULL);
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
-      gtk_box_pack_start (GTK_BOX (vbox),
+      gtk_container_add (GTK_CONTAINER (vbox),
                           gtk_label_new ("Shopping list (you can edit the cells!)"));
 
       sw = gtk_scrolled_window_new (NULL, NULL);
@@ -365,7 +365,7 @@ do_editable_cells (GtkWidget *do_widget)
       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
                                       GTK_POLICY_AUTOMATIC,
                                       GTK_POLICY_AUTOMATIC);
-      gtk_box_pack_start (GTK_BOX (vbox), sw);
+      gtk_container_add (GTK_CONTAINER (vbox), sw);
 
       /* create models */
       items_model = create_items_model ();
@@ -387,17 +387,17 @@ do_editable_cells (GtkWidget *do_widget)
       /* some buttons */
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
       gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       button = gtk_button_new_with_label ("Add item");
       g_signal_connect (button, "clicked",
                         G_CALLBACK (add_item), treeview);
-      gtk_box_pack_start (GTK_BOX (hbox), button);
+      gtk_container_add (GTK_CONTAINER (hbox), button);
 
       button = gtk_button_new_with_label ("Remove item");
       g_signal_connect (button, "clicked",
                         G_CALLBACK (remove_item), treeview);
-      gtk_box_pack_start (GTK_BOX (hbox), button);
+      gtk_container_add (GTK_CONTAINER (hbox), button);
 
       gtk_window_set_default_size (GTK_WINDOW (window), 320, 200);
     }
diff --git a/demos/gtk-demo/entry_buffer.c b/demos/gtk-demo/entry_buffer.c
index 955077e9c3..6810ad99af 100644
--- a/demos/gtk-demo/entry_buffer.c
+++ b/demos/gtk-demo/entry_buffer.c
@@ -34,19 +34,19 @@ do_entry_buffer (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "Entries share a buffer. Typing in one is reflected in the other.");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       /* Create a buffer */
       buffer = gtk_entry_buffer_new (NULL, 0);
 
       /* Create our first entry */
       entry = gtk_entry_new_with_buffer (buffer);
-      gtk_box_pack_start (GTK_BOX (vbox), entry);
+      gtk_container_add (GTK_CONTAINER (vbox), entry);
 
       /* Create the second entry */
       entry = gtk_entry_new_with_buffer (buffer);
       gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE);
-      gtk_box_pack_start (GTK_BOX (vbox), entry);
+      gtk_container_add (GTK_CONTAINER (vbox), entry);
 
       g_object_unref (buffer);
     }
diff --git a/demos/gtk-demo/entry_completion.c b/demos/gtk-demo/entry_completion.c
index 8742c1fc6b..2f6315566d 100644
--- a/demos/gtk-demo/entry_completion.c
+++ b/demos/gtk-demo/entry_completion.c
@@ -60,11 +60,11 @@ do_entry_completion (GtkWidget *do_widget)
 
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label), "Completion demo, try writing <b>total</b> or <b>gnome</b> 
for example.");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       /* Create our entry */
       entry = gtk_entry_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), entry);
+      gtk_container_add (GTK_CONTAINER (vbox), entry);
 
       /* Create the completion object */
       completion = gtk_entry_completion_new ();
diff --git a/demos/gtk-demo/iconview.c b/demos/gtk-demo/iconview.c
index c5974729d4..d252ef36ec 100644
--- a/demos/gtk-demo/iconview.c
+++ b/demos/gtk-demo/iconview.c
@@ -266,7 +266,7 @@ do_iconview (GtkWidget *do_widget)
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
       tool_bar = gtk_toolbar_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), tool_bar);
+      gtk_container_add (GTK_CONTAINER (vbox), tool_bar);
 
       up_button = gtk_tool_button_new (NULL, NULL);
       gtk_tool_button_set_label (GTK_TOOL_BUTTON (up_button), _("_Up"));
@@ -292,7 +292,7 @@ do_iconview (GtkWidget *do_widget)
                                       GTK_POLICY_AUTOMATIC);
       gtk_widget_set_vexpand (sw, TRUE);
 
-      gtk_box_pack_start (GTK_BOX (vbox), sw);
+      gtk_container_add (GTK_CONTAINER (vbox), sw);
 
       /* Create the store and fill it with the contents of '/' */
       parent = g_strdup ("/");
diff --git a/demos/gtk-demo/images.c b/demos/gtk-demo/images.c
index 88c4b70b43..88edbf4693 100644
--- a/demos/gtk-demo/images.c
+++ b/demos/gtk-demo/images.c
@@ -354,13 +354,13 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Image loaded from a file</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
       gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       image = gtk_image_new_from_icon_name ("gtk3-demo");
       gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
@@ -373,13 +373,13 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Animation loaded from a file</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
       gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       picture = gtk_picture_new_for_resource ("/images/floppybuddy.gif");
 
@@ -390,13 +390,13 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Symbolic themed icon</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
       gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       gicon = g_themed_icon_new_with_default_fallbacks ("battery-caution-charging-symbolic");
       image = gtk_image_new_from_gicon (gicon);
@@ -412,13 +412,13 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Progressive image loading</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
       gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       /* Create an empty image for now; the progressive loader
        * will create the pixbuf and fill it in.
@@ -435,13 +435,13 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>Displaying video</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       frame = gtk_frame_new (NULL);
       gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
       gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
       gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       video = gtk_video_new_for_resource ("/images/gtk-logo.webm");
       gtk_media_stream_set_loop (gtk_video_get_media_stream (GTK_VIDEO (video)), TRUE);
@@ -454,7 +454,7 @@ do_images (GtkWidget *do_widget)
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label),
                             "<u>GtkWidgetPaintable</u>");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       paintable = gtk_widget_paintable_new (do_widget);
       picture = gtk_picture_new_for_paintable (paintable);
@@ -464,7 +464,7 @@ do_images (GtkWidget *do_widget)
 
       /* Sensitivity control */
       button = gtk_toggle_button_new_with_mnemonic ("_Insensitive");
-      gtk_box_pack_start (GTK_BOX (base_vbox), button);
+      gtk_container_add (GTK_CONTAINER (base_vbox), button);
 
       g_signal_connect (button, "toggled",
                         G_CALLBACK (toggle_sensitivity_callback),
diff --git a/demos/gtk-demo/infobar.c b/demos/gtk-demo/infobar.c
index 4538033bd5..cdcd819d38 100644
--- a/demos/gtk-demo/infobar.c
+++ b/demos/gtk-demo/infobar.c
@@ -65,24 +65,24 @@ do_infobar (GtkWidget *do_widget)
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
       bar = gtk_info_bar_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), bar);
+      gtk_container_add (GTK_CONTAINER (vbox), bar);
       gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_INFO);
       label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_INFO");
       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
       gtk_label_set_xalign (GTK_LABEL (label), 0);
-      gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
+      gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
 
       button = gtk_toggle_button_new_with_label ("Message");
       g_object_bind_property (bar, "revealed", button, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
       gtk_container_add (GTK_CONTAINER (actions), button);
 
       bar = gtk_info_bar_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), bar);
+      gtk_container_add (GTK_CONTAINER (vbox), bar);
       gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING);
       label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_WARNING");
       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
       gtk_label_set_xalign (GTK_LABEL (label), 0);
-      gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
+      gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
 
       button = gtk_toggle_button_new_with_label ("Warning");
       g_object_bind_property (bar, "revealed", button, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
@@ -91,24 +91,24 @@ do_infobar (GtkWidget *do_widget)
       bar = gtk_info_bar_new_with_buttons (_("_OK"), GTK_RESPONSE_OK, NULL);
       gtk_info_bar_set_show_close_button (GTK_INFO_BAR (bar), TRUE);
       g_signal_connect (bar, "response", G_CALLBACK (on_bar_response), window);
-      gtk_box_pack_start (GTK_BOX (vbox), bar);
+      gtk_container_add (GTK_CONTAINER (vbox), bar);
       gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_QUESTION);
       label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_QUESTION");
       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
       gtk_label_set_xalign (GTK_LABEL (label), 0);
-      gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
+      gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
 
       button = gtk_toggle_button_new_with_label ("Question");
       g_object_bind_property (bar, "revealed", button, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
       gtk_container_add (GTK_CONTAINER (actions), button);
 
       bar = gtk_info_bar_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), bar);
+      gtk_container_add (GTK_CONTAINER (vbox), bar);
       gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_ERROR);
       label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_ERROR");
       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
       gtk_label_set_xalign (GTK_LABEL (label), 0);
-      gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
+      gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
 
       button = gtk_toggle_button_new_with_label ("Error");
       g_object_bind_property (bar, "revealed", button, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
@@ -116,12 +116,12 @@ do_infobar (GtkWidget *do_widget)
       gtk_container_add (GTK_CONTAINER (actions), button);
 
       bar = gtk_info_bar_new ();
-      gtk_box_pack_start (GTK_BOX (vbox), bar);
+      gtk_container_add (GTK_CONTAINER (vbox), bar);
       gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_OTHER);
       label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_OTHER");
       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
       gtk_label_set_xalign (GTK_LABEL (label), 0);
-      gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
+      gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label);
 
       button = gtk_toggle_button_new_with_label ("Other");
       g_object_bind_property (bar, "revealed", button, "active", G_BINDING_BIDIRECTIONAL | 
G_BINDING_SYNC_CREATE);
@@ -130,7 +130,7 @@ do_infobar (GtkWidget *do_widget)
       frame = gtk_frame_new ("Info bars");
       gtk_widget_set_margin_top (frame, 8);
       gtk_widget_set_margin_bottom (frame, 8);
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
       g_object_set (vbox2, "margin", 8, NULL);
@@ -138,9 +138,9 @@ do_infobar (GtkWidget *do_widget)
 
       /* Standard message dialog */
       label = gtk_label_new ("An example of different info bars");
-      gtk_box_pack_start (GTK_BOX (vbox2), label);
+      gtk_container_add (GTK_CONTAINER (vbox2), label);
 
-      gtk_box_pack_start (GTK_BOX (vbox2), actions);
+      gtk_container_add (GTK_CONTAINER (vbox2), actions);
     }
 
   if (!gtk_widget_get_visible (window))
diff --git a/demos/gtk-demo/list_store.c b/demos/gtk-demo/list_store.c
index 53c30a2b72..4812c38efa 100644
--- a/demos/gtk-demo/list_store.c
+++ b/demos/gtk-demo/list_store.c
@@ -268,7 +268,7 @@ do_list_store (GtkWidget *do_widget)
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
       label = gtk_label_new ("This is the bug list (note: not based on real data, it would be nice to have a 
nice ODBC interface to bugzilla or so, though).");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       sw = gtk_scrolled_window_new (NULL, NULL);
       gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
@@ -276,7 +276,7 @@ do_list_store (GtkWidget *do_widget)
       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
                                       GTK_POLICY_NEVER,
                                       GTK_POLICY_AUTOMATIC);
-      gtk_box_pack_start (GTK_BOX (vbox), sw);
+      gtk_container_add (GTK_CONTAINER (vbox), sw);
 
       /* create tree model */
       model = create_model ();
diff --git a/demos/gtk-demo/listbox.c b/demos/gtk-demo/listbox.c
index c1dc9ef6a7..ae6c62c4c8 100644
--- a/demos/gtk-demo/listbox.c
+++ b/demos/gtk-demo/listbox.c
@@ -362,11 +362,11 @@ do_listbox (GtkWidget *do_widget)
       vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
       gtk_container_add (GTK_CONTAINER (window), vbox);
       label = gtk_label_new ("Messages from Gtk+ and friends");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
       scrolled = gtk_scrolled_window_new (NULL, NULL);
       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_NEVER, 
GTK_POLICY_AUTOMATIC);
       gtk_widget_set_vexpand (scrolled, TRUE);
-      gtk_box_pack_start (GTK_BOX (vbox), scrolled);
+      gtk_container_add (GTK_CONTAINER (vbox), scrolled);
       listbox = gtk_list_box_new ();
       gtk_container_add (GTK_CONTAINER (scrolled), listbox);
 
diff --git a/demos/gtk-demo/menus.c b/demos/gtk-demo/menus.c
index d84460926f..f56fbf29ad 100644
--- a/demos/gtk-demo/menus.c
+++ b/demos/gtk-demo/menus.c
@@ -115,7 +115,7 @@ do_menus (GtkWidget *do_widget)
 
       menubar = gtk_menu_bar_new ();
       gtk_widget_set_hexpand (menubar, TRUE);
-      gtk_box_pack_start (GTK_BOX (box1), menubar);
+      gtk_container_add (GTK_CONTAINER (box1), menubar);
       gtk_widget_show (menubar);
 
       menu = create_menu (2);
@@ -136,19 +136,19 @@ do_menus (GtkWidget *do_widget)
       gtk_widget_show (menuitem);
 
       box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
-      gtk_box_pack_start (GTK_BOX (box1), box2);
+      gtk_container_add (GTK_CONTAINER (box1), box2);
       gtk_widget_show (box2);
 
       button = gtk_button_new_with_label ("Flip");
       g_signal_connect (button, "clicked",
                         G_CALLBACK (change_orientation), menubar);
-      gtk_box_pack_start (GTK_BOX (box2), button);
+      gtk_container_add (GTK_CONTAINER (box2), button);
       gtk_widget_show (button);
 
       button = gtk_button_new_with_label ("Close");
       g_signal_connect_swapped (button, "clicked",
                                 G_CALLBACK(gtk_widget_destroy), window);
-      gtk_box_pack_start (GTK_BOX (box2), button);
+      gtk_container_add (GTK_CONTAINER (box2), button);
       gtk_widget_set_can_default (button, TRUE);
       gtk_widget_grab_default (button);
       gtk_widget_show (button);
diff --git a/demos/gtk-demo/overlay.c b/demos/gtk-demo/overlay.c
index 3e8223ff44..e396f8e54e 100644
--- a/demos/gtk-demo/overlay.c
+++ b/demos/gtk-demo/overlay.c
@@ -65,7 +65,7 @@ do_overlay (GtkWidget *do_widget)
       gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
       gtk_widget_set_margin_top (label, 8);
       gtk_widget_set_margin_bottom (label, 50);
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
       gtk_overlay_add_overlay (GTK_OVERLAY (overlay), vbox);
@@ -74,7 +74,7 @@ do_overlay (GtkWidget *do_widget)
       gtk_entry_set_placeholder_text (GTK_ENTRY (entry), "Your Lucky Number");
       gtk_widget_set_margin_top (entry, 50);
       gtk_widget_set_margin_bottom (entry, 8);
-      gtk_box_pack_start (GTK_BOX (vbox), entry);
+      gtk_container_add (GTK_CONTAINER (vbox), entry);
 
       gtk_container_add (GTK_CONTAINER (window), overlay);
 
diff --git a/demos/gtk-demo/panes.c b/demos/gtk-demo/panes.c
index 18c12a60f0..675bc5d9ea 100644
--- a/demos/gtk-demo/panes.c
+++ b/demos/gtk-demo/panes.c
@@ -148,7 +148,7 @@ do_panes (GtkWidget *do_widget)
 
       vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
       g_object_set (vpaned, "margin", 5, NULL);
-      gtk_box_pack_start (GTK_BOX (vbox), vpaned);
+      gtk_container_add (GTK_CONTAINER (vbox), vpaned);
 
       hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
       gtk_paned_add1 (GTK_PANED (vpaned), hpaned);
@@ -173,13 +173,13 @@ do_panes (GtkWidget *do_widget)
 
       /* Now create toggle buttons to control sizing */
 
-      gtk_box_pack_start (GTK_BOX (vbox),
+      gtk_container_add (GTK_CONTAINER (vbox),
                           create_pane_options (GTK_PANED (hpaned),
                                                "Horizontal",
                                                "Left",
                                                "Right"));
 
-      gtk_box_pack_start (GTK_BOX (vbox),
+      gtk_container_add (GTK_CONTAINER (vbox),
                           create_pane_options (GTK_PANED (vpaned),
                                                "Vertical",
                                                "Top",
diff --git a/demos/gtk-demo/search_entry.c b/demos/gtk-demo/search_entry.c
index d45afa290b..ed87159fae 100644
--- a/demos/gtk-demo/search_entry.c
+++ b/demos/gtk-demo/search_entry.c
@@ -240,20 +240,20 @@ do_search_entry (GtkWidget *do_widget)
 
       label = gtk_label_new (NULL);
       gtk_label_set_markup (GTK_LABEL (label), "Search entry demo");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       /* Create our entry */
       entry = gtk_search_entry_new ();
-      gtk_box_pack_start (GTK_BOX (hbox), entry);
+      gtk_container_add (GTK_CONTAINER (hbox), entry);
 
       /* Create the find and cancel buttons */
       notebook = gtk_notebook_new ();
       gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
       gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
-      gtk_box_pack_start (GTK_BOX (hbox), notebook);
+      gtk_container_add (GTK_CONTAINER (hbox), notebook);
 
       find_button = gtk_button_new_with_label ("Find");
       g_signal_connect (find_button, "clicked",
diff --git a/demos/gtk-demo/search_entry2.c b/demos/gtk-demo/search_entry2.c
index beb6db4c0a..1b0aa15395 100644
--- a/demos/gtk-demo/search_entry2.c
+++ b/demos/gtk-demo/search_entry2.c
@@ -83,38 +83,38 @@ do_search_entry2 (GtkWidget *do_widget)
       entry = gtk_search_entry_new ();
       container = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
       gtk_widget_set_halign (container, GTK_ALIGN_CENTER);
-      gtk_box_pack_start (GTK_BOX (container), entry);
+      gtk_container_add (GTK_CONTAINER (container), entry);
       searchbar = gtk_search_bar_new ();
       gtk_search_bar_connect_entry (GTK_SEARCH_BAR (searchbar), GTK_ENTRY (entry));
       gtk_search_bar_set_show_close_button (GTK_SEARCH_BAR (searchbar), FALSE);
       gtk_container_add (GTK_CONTAINER (searchbar), container);
-      gtk_box_pack_start (GTK_BOX (vbox), searchbar);
+      gtk_container_add (GTK_CONTAINER (vbox), searchbar);
 
       /* Hook the search bar to key presses */
       gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (searchbar), window);
 
       /* Help */
       label = gtk_label_new ("Start Typing to search");
-      gtk_box_pack_start (GTK_BOX (vbox), label);
+      gtk_container_add (GTK_CONTAINER (vbox), label);
 
       /* Toggle button */
       button = gtk_toggle_button_new_with_label ("Search");
       g_object_bind_property (button, "active",
                               searchbar, "search-mode-enabled",
                               G_BINDING_BIDIRECTIONAL);
-      gtk_box_pack_start (GTK_BOX (vbox), button);
+      gtk_container_add (GTK_CONTAINER (vbox), button);
 
       /* Result */
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       label = gtk_label_new ("Result:");
       gtk_label_set_xalign (GTK_LABEL (label), 0.0);
       gtk_widget_set_margin_start (label, 6);
-      gtk_box_pack_start (GTK_BOX (hbox), label);
+      gtk_container_add (GTK_CONTAINER (hbox), label);
 
       label = gtk_label_new ("");
-      gtk_box_pack_start (GTK_BOX (hbox), label);
+      gtk_container_add (GTK_CONTAINER (hbox), label);
 
       g_signal_connect (entry, "search-changed",
                         G_CALLBACK (search_changed_cb), label);
@@ -122,15 +122,15 @@ do_search_entry2 (GtkWidget *do_widget)
                         G_CALLBACK (changed_cb), label);
 
       hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
-      gtk_box_pack_start (GTK_BOX (vbox), hbox);
+      gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
       label = gtk_label_new ("Signal:");
       gtk_label_set_xalign (GTK_LABEL (label), 0.0);
       gtk_widget_set_margin_start (label, 6);
-      gtk_box_pack_start (GTK_BOX (hbox), label);
+      gtk_container_add (GTK_CONTAINER (hbox), label);
 
       label = gtk_label_new ("");
-      gtk_box_pack_start (GTK_BOX (hbox), label);
+      gtk_container_add (GTK_CONTAINER (hbox), label);
 
       g_signal_connect (entry, "search-changed",
                         G_CALLBACK (search_changed), label);
diff --git a/demos/gtk-demo/sidebar.c b/demos/gtk-demo/sidebar.c
index 422e98e4ac..d6a5cb011e 100644
--- a/demos/gtk-demo/sidebar.c
+++ b/demos/gtk-demo/sidebar.c
@@ -49,7 +49,7 @@ do_sidebar (GtkWidget *do_widget)
 
       box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
       sidebar = gtk_stack_sidebar_new ();
-      gtk_box_pack_start (GTK_BOX (box), sidebar);
+      gtk_container_add (GTK_CONTAINER (box), sidebar);
 
       stack = gtk_stack_new ();
       gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN);
@@ -57,9 +57,9 @@ do_sidebar (GtkWidget *do_widget)
 
       /* Separator between sidebar and stack */
       widget = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
-      gtk_box_pack_start (GTK_BOX(box), widget);
+      gtk_container_add (GTK_CONTAINER(box), widget);
 
-      gtk_box_pack_start (GTK_BOX (box), stack);
+      gtk_container_add (GTK_CONTAINER (box), stack);
 
       for (i=0; (c = *(pages+i)) != NULL; i++ )
         {
diff --git a/demos/gtk-demo/sizegroup.c b/demos/gtk-demo/sizegroup.c
index ad01f1d4f0..2f62825778 100644
--- a/demos/gtk-demo/sizegroup.c
+++ b/demos/gtk-demo/sizegroup.c
@@ -116,7 +116,7 @@ do_sizegroup (GtkWidget *do_widget)
 
       /* Create one frame holding color options */
       frame = gtk_frame_new ("Color Options");
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       table = gtk_grid_new ();
       g_object_set (table, "margin", 5, NULL);
@@ -129,7 +129,7 @@ do_sizegroup (GtkWidget *do_widget)
 
       /* And another frame holding line style options */
       frame = gtk_frame_new ("Line Options");
-      gtk_box_pack_start (GTK_BOX (vbox), frame);
+      gtk_container_add (GTK_CONTAINER (vbox), frame);
 
       table = gtk_grid_new ();
       g_object_set (table, "margin", 5, NULL);
@@ -142,7 +142,7 @@ do_sizegroup (GtkWidget *do_widget)
 
       /* And a check button to turn grouping on and off */
       check_button = gtk_check_button_new_with_mnemonic ("_Enable grouping");
-      gtk_box_pack_start (GTK_BOX (vbox), check_button);
+      gtk_container_add (GTK_CONTAINER (vbox), check_button);
 
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
       g_signal_connect (check_button, "toggled",
diff --git a/demos/gtk-demo/spinner.c b/demos/gtk-demo/spinner.c
index b0cce83a90..a134c4ba63 100644
--- a/demos/gtk-demo/spinner.c
+++ b/demos/gtk-demo/spinner.c
@@ -53,7 +53,7 @@ do_spinner (GtkWidget *do_widget)
 
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
     g_object_set (vbox, "margin", 5, NULL);
-    gtk_box_pack_start (GTK_BOX (content_area), vbox);
+    gtk_container_add (GTK_CONTAINER (content_area), vbox);
 
     /* Sensitive */
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
diff --git a/demos/gtk-demo/textscroll.c b/demos/gtk-demo/textscroll.c
index f6cfc53925..66be4a9fcc 100644
--- a/demos/gtk-demo/textscroll.c
+++ b/demos/gtk-demo/textscroll.c
@@ -157,7 +157,7 @@ create_text_view (GtkWidget *hbox,
   guint timeout;
 
   swindow = gtk_scrolled_window_new (NULL, NULL);
-  gtk_box_pack_start (GTK_BOX (hbox), swindow);
+  gtk_container_add (GTK_CONTAINER (hbox), swindow);
   textview = gtk_text_view_new ();
   gtk_container_add (GTK_CONTAINER (swindow), textview);
 
diff --git a/demos/gtk-demo/tree_store.c b/demos/gtk-demo/tree_store.c
index 976f9fc898..77a2f84408 100644
--- a/demos/gtk-demo/tree_store.c
+++ b/demos/gtk-demo/tree_store.c
@@ -401,7 +401,7 @@ do_tree_store (GtkWidget *do_widget)
       g_object_set (vbox, "margin", 8, NULL);
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
-      gtk_box_pack_start (GTK_BOX (vbox),
+      gtk_container_add (GTK_CONTAINER (vbox),
                           gtk_label_new ("Jonathan's Holiday Card Planning Sheet"));
 
       sw = gtk_scrolled_window_new (NULL, NULL);
@@ -410,7 +410,7 @@ do_tree_store (GtkWidget *do_widget)
       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
                                       GTK_POLICY_AUTOMATIC,
                                       GTK_POLICY_AUTOMATIC);
-      gtk_box_pack_start (GTK_BOX (vbox), sw);
+      gtk_container_add (GTK_CONTAINER (vbox), sw);
 
       /* create model */
       model = create_model ();
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index e0027e97f0..dc6a19016e 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -803,7 +803,7 @@ overshot (GtkScrolledWindow *sw, GtkPositionType pos, GtkWidget *widget)
                 "margin", 6,
                 "xalign", 0.0,
                 NULL);
-  gtk_box_pack_start (GTK_BOX (row), label);
+  gtk_container_add (GTK_CONTAINER (row), label);
   gdk_rgba_parse (&rgba, color);
   swatch = g_object_new (g_type_from_name ("GtkColorSwatch"),
                          "rgba", &rgba,
@@ -815,7 +815,7 @@ overshot (GtkScrolledWindow *sw, GtkPositionType pos, GtkWidget *widget)
                          NULL);
   box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_container_add (GTK_CONTAINER (box), swatch);
-  gtk_box_pack_start (GTK_BOX (row), box);
+  gtk_container_add (GTK_CONTAINER (row), box);
   gtk_list_box_insert (GTK_LIST_BOX (widget), row, -1);
   row = gtk_widget_get_parent (row);
   gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), FALSE);
@@ -914,7 +914,7 @@ populate_colors (GtkWidget *widget, GtkWidget *chooser)
                     "hexpand", TRUE,
                     "xalign", 0.0,
                     NULL);
-      gtk_box_pack_start (GTK_BOX (row), label);
+      gtk_container_add (GTK_CONTAINER (row), label);
       gdk_rgba_parse (&rgba, colors[i].color);
       swatch = g_object_new (g_type_from_name ("GtkColorSwatch"),
                              "rgba", &rgba,
@@ -926,7 +926,7 @@ populate_colors (GtkWidget *widget, GtkWidget *chooser)
                              NULL);
       box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
       gtk_container_add (GTK_CONTAINER (box), swatch);
-      gtk_box_pack_start (GTK_BOX (row), box);
+      gtk_container_add (GTK_CONTAINER (row), box);
       gtk_list_box_insert (GTK_LIST_BOX (widget), row, -1);
       row = gtk_widget_get_parent (row);
       gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), FALSE);
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index f4812cf073..12d57df602 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -322,7 +322,6 @@ gtk_bin_get_type
 GtkBox
 GtkBoxClass
 gtk_box_new
-gtk_box_pack_start
 gtk_box_get_homogeneous
 gtk_box_set_homogeneous
 gtk_box_get_spacing
diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
index b27ec7675a..68f8a28285 100644
--- a/docs/tools/widgets.c
+++ b/docs/tools/widgets.c
@@ -160,7 +160,7 @@ create_menu_button (void)
   gtk_widget_set_halign (widget, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
 
-  gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Menu Button"));
+  gtk_container_add (GTK_CONTAINER (vbox), gtk_label_new ("Menu Button"));
 
   return new_widget_info ("menu-button", vbox, SMALL);
 }
@@ -209,8 +209,8 @@ create_lockbutton (void)
   widget = gtk_lock_button_new (g_object_new (G_TYPE_TEST_PERMISSION, NULL));
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Lock Button"));
   gtk_widget_set_halign (vbox, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (vbox, GTK_ALIGN_CENTER);
@@ -253,11 +253,11 @@ create_radio (void)
 
   widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   radio = gtk_radio_button_new_with_mnemonic (NULL, "Radio Button _One");
-  gtk_box_pack_start (GTK_BOX (widget), radio);
+  gtk_container_add (GTK_CONTAINER (widget), radio);
   radio = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (radio), "Radio Button _Two");
-  gtk_box_pack_start (GTK_BOX (widget), radio);
+  gtk_container_add (GTK_CONTAINER (widget), radio);
   radio = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (radio), "Radio Button T_hree");
-  gtk_box_pack_start (GTK_BOX (widget), radio);
+  gtk_container_add (GTK_CONTAINER (widget), radio);
   gtk_widget_set_halign (widget, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
 
@@ -409,7 +409,7 @@ create_search_bar (void)
   gtk_container_add (GTK_CONTAINER (box), widget);
 
   view = gtk_text_view_new ();
-  gtk_box_pack_start (GTK_BOX (box), view);
+  gtk_container_add (GTK_CONTAINER (box), view);
 
   info = new_widget_info ("search-bar", box, SMALL);
 
@@ -427,7 +427,7 @@ create_action_bar (void)
 
   box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   view = gtk_text_view_new ();
-  gtk_box_pack_start (GTK_BOX (box), view);
+  gtk_container_add (GTK_CONTAINER (box), view);
 
   widget = gtk_action_bar_new ();
 
@@ -538,8 +538,8 @@ create_icon_view (void)
   gtk_container_add (GTK_CONTAINER (widget), icon_view);
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Icon View"));
 
   info = new_widget_info ("icon-view", vbox, MEDIUM);
@@ -562,8 +562,8 @@ create_color_button (void)
   picker = gtk_color_button_new_with_rgba (&color);
   gtk_widget_set_halign (picker, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (picker, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), picker);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), picker);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Color Button"));
 
   return new_widget_info ("color-button", vbox, SMALL);
@@ -579,8 +579,8 @@ create_font_button (void)
   picker = gtk_font_button_new_with_font ("Sans Serif 10");
   gtk_widget_set_halign (picker, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (picker, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), picker);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), picker);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Font Button"));
 
   return new_widget_info ("font-button", vbox, SMALL);
@@ -601,13 +601,13 @@ create_file_button (void)
   gtk_widget_set_size_request (picker, 150, -1);
   gtk_widget_set_halign (picker, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (picker, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox2), picker);
-  gtk_box_pack_start (GTK_BOX (vbox2),
+  gtk_container_add (GTK_CONTAINER (vbox2), picker);
+  gtk_container_add (GTK_CONTAINER (vbox2),
                      gtk_label_new ("File Button (Files)"));
 
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox),
                      vbox2);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
 
   vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
@@ -619,10 +619,10 @@ create_file_button (void)
   g_free (path);
   gtk_widget_set_halign (picker, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (picker, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox2), picker);
-  gtk_box_pack_start (GTK_BOX (vbox2),
+  gtk_container_add (GTK_CONTAINER (vbox2), picker);
+  gtk_container_add (GTK_CONTAINER (vbox2),
                      gtk_label_new ("File Button (Select Folder)"));
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox),
                      vbox2);
 
   return new_widget_info ("file-button", vbox, MEDIUM);
@@ -637,12 +637,12 @@ create_separator (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      gtk_separator_new (GTK_ORIENTATION_VERTICAL));
-  gtk_box_pack_start (GTK_BOX (vbox), hbox);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), hbox);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      g_object_new (GTK_TYPE_LABEL,
                                    "label", "Horizontal and Vertical\nSeparators",
                                    "justify", GTK_JUSTIFY_CENTER,
@@ -671,7 +671,7 @@ create_panes (void)
                                 "shadow-type", GTK_SHADOW_IN,
                                 NULL),
                   FALSE, FALSE);
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      pane);
   pane = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
   gtk_paned_pack1 (GTK_PANED (pane),
@@ -684,10 +684,10 @@ create_panes (void)
                                 "shadow-type", GTK_SHADOW_IN,
                                 NULL),
                   FALSE, FALSE);
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      pane);
-  gtk_box_pack_start (GTK_BOX (vbox), hbox);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), hbox);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      g_object_new (GTK_TYPE_LABEL,
                                    "label", "Horizontal and Vertical\nPanes",
                                    "justify", GTK_JUSTIFY_CENTER,
@@ -819,8 +819,8 @@ create_menubar (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Menu Bar"));
 
   return new_widget_info ("menubar", vbox, SMALL);
@@ -901,8 +901,8 @@ create_progressbar (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Progress Bar"));
 
   return new_widget_info ("progressbar", vbox, SMALL);
@@ -918,8 +918,8 @@ create_level_bar (void)
   gtk_level_bar_set_value (GTK_LEVEL_BAR (widget), 0.333);
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Level Bar"));
 
   return new_widget_info ("levelbar", vbox, SMALL);
@@ -952,8 +952,8 @@ create_scrollbar (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Scrollbar"));
 
   return new_widget_info ("scrollbar", vbox, SMALL);
@@ -970,8 +970,8 @@ create_spinbutton (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Spin Button"));
 
   return new_widget_info ("spinbutton", vbox, SMALL);
@@ -985,7 +985,7 @@ create_statusbar (void)
   GtkWidget *vbox;
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox),
                       gtk_label_new ("Status Bar"));
   widget = gtk_statusbar_new ();
   gtk_widget_set_halign (widget, GTK_ALIGN_FILL);
@@ -1007,14 +1007,14 @@ create_scales (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL,
                                                 0.0, 100.0, 1.0));
-  gtk_box_pack_start (GTK_BOX (hbox),
+  gtk_container_add (GTK_CONTAINER (hbox),
                      gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL,
                                                 0.0, 100.0, 1.0));
-  gtk_box_pack_start (GTK_BOX (vbox), hbox);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), hbox);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      g_object_new (GTK_TYPE_LABEL,
                                    "label", "Horizontal and Vertical\nScales",
                                    "justify", GTK_JUSTIFY_CENTER,
@@ -1033,8 +1033,8 @@ create_image (void)
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Image"));
 
   return new_widget_info ("image", vbox, SMALL);
@@ -1053,8 +1053,8 @@ create_spinner (void)
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_widget_set_halign (widget, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox),
                      gtk_label_new ("Spinner"));
 
   return new_widget_info ("spinner", vbox, SMALL);
@@ -1123,8 +1123,8 @@ create_appchooserbutton (void)
   picker = gtk_app_chooser_button_new ("text/plain");
   gtk_widget_set_halign (picker, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (picker, GTK_ALIGN_CENTER);
-  gtk_box_pack_start (GTK_BOX (vbox), picker);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), picker);
+  gtk_container_add (GTK_CONTAINER (vbox),
                       gtk_label_new ("Application Button"));
 
   return new_widget_info ("appchooserbutton", vbox, SMALL);
@@ -1221,9 +1221,9 @@ create_stack (void)
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
-  gtk_box_pack_start (GTK_BOX (vbox), switcher);
-  gtk_box_pack_start (GTK_BOX (vbox), stack);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), switcher);
+  gtk_container_add (GTK_CONTAINER (vbox), stack);
+  gtk_container_add (GTK_CONTAINER (vbox),
                       gtk_label_new ("Stack"));
 
   return new_widget_info ("stack", vbox, ASIS);
@@ -1254,9 +1254,9 @@ create_stack_switcher (void)
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
-  gtk_box_pack_start (GTK_BOX (vbox), switcher);
-  gtk_box_pack_start (GTK_BOX (vbox), stack);
-  gtk_box_pack_start (GTK_BOX (vbox),
+  gtk_container_add (GTK_CONTAINER (vbox), switcher);
+  gtk_container_add (GTK_CONTAINER (vbox), stack);
+  gtk_container_add (GTK_CONTAINER (vbox),
                       gtk_label_new ("Stack Switcher"));
 
   return new_widget_info ("stackswitcher", vbox, ASIS);
@@ -1289,9 +1289,9 @@ create_sidebar (void)
   frame = gtk_frame_new (NULL);
   hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
-  gtk_box_pack_start (GTK_BOX (hbox), sidebar);
-  gtk_box_pack_start (GTK_BOX (hbox), gtk_separator_new (GTK_ORIENTATION_VERTICAL));
-  gtk_box_pack_start (GTK_BOX (hbox), stack);
+  gtk_container_add (GTK_CONTAINER (hbox), sidebar);
+  gtk_container_add (GTK_CONTAINER (hbox), gtk_separator_new (GTK_ORIENTATION_VERTICAL));
+  gtk_container_add (GTK_CONTAINER (hbox), stack);
   gtk_container_add (GTK_CONTAINER (frame), hbox);
 
   return new_widget_info ("sidebar", frame, ASIS);
@@ -1383,8 +1383,8 @@ create_flow_box (void)
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
 
-  gtk_box_pack_start (GTK_BOX (vbox), widget);
-  gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Flow Box"));
+  gtk_container_add (GTK_CONTAINER (vbox), widget);
+  gtk_container_add (GTK_CONTAINER (vbox), gtk_label_new ("Flow Box"));
   info = new_widget_info ("flow-box", vbox, ASIS);
   info->no_focus = FALSE;
 
diff --git a/examples/search-bar.c b/examples/search-bar.c
index e7ffde7171..cb84e9ce06 100644
--- a/examples/search-bar.c
+++ b/examples/search-bar.c
@@ -23,10 +23,10 @@ activate_cb (GtkApplication *app,
 
   entry = gtk_search_entry_new ();
   gtk_widget_set_hexpand (entry, TRUE);
-  gtk_box_pack_start (GTK_BOX (box), entry);
+  gtk_container_add (GTK_CONTAINER (box), entry);
 
   menu_button = gtk_menu_button_new ();
-  gtk_box_pack_start (GTK_BOX (box), menu_button);
+  gtk_container_add (GTK_CONTAINER (box), menu_button);
 
   gtk_search_bar_connect_entry (GTK_SEARCH_BAR (search_bar), GTK_ENTRY (entry));
   gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (search_bar), window);
diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c
index 7031b6181b..898df2f78d 100644
--- a/gtk/gtkbox.c
+++ b/gtk/gtkbox.c
@@ -711,20 +711,6 @@ gtk_box_get_path_for_child (GtkContainer *container,
   return path;
 }
 
-static void
-gtk_box_pack (GtkBox    *box,
-              GtkWidget *child)
-{
-  GtkContainer *container = GTK_CONTAINER (box);
-
-  g_return_if_fail (GTK_IS_BOX (box));
-  g_return_if_fail (GTK_IS_WIDGET (child));
-  g_return_if_fail (_gtk_widget_get_parent (child) == NULL);
-
-  gtk_widget_set_parent (child, GTK_WIDGET (box));
-  gtk_container_child_notify_by_pspec (container, child, child_props[CHILD_PROP_POSITION]);
-}
-
 static void
 gtk_box_compute_size_for_opposing_orientation (GtkBox *box,
                                                int     for_size,
@@ -1004,22 +990,6 @@ gtk_box_new (GtkOrientation orientation,
                        NULL);
 }
 
-/**
- * gtk_box_pack_start:
- * @box: a #GtkBox
- * @child: the #GtkWidget to be added to @box
- *
- * Adds @child to @box, packed with reference to the start of @box.
- * The @child is packed after any other child packed with reference
- * to the start of @box.
- */
-void
-gtk_box_pack_start (GtkBox    *box,
-                   GtkWidget *child)
-{
-  gtk_box_pack (box, child);
-}
-
 /**
  * gtk_box_set_homogeneous:
  * @box: a #GtkBox
@@ -1231,9 +1201,10 @@ gtk_box_reorder_child (GtkBox    *box,
 
 static void
 gtk_box_add (GtkContainer *container,
-            GtkWidget    *widget)
+             GtkWidget    *child)
 {
-  gtk_box_pack_start (GTK_BOX (container), widget);
+  gtk_widget_set_parent (child, GTK_WIDGET (container));
+  gtk_container_child_notify_by_pspec (container, child, child_props[CHILD_PROP_POSITION]);
 }
 
 static void
diff --git a/gtk/gtkbox.h b/gtk/gtkbox.h
index aa148db0db..fd98927e2e 100644
--- a/gtk/gtkbox.h
+++ b/gtk/gtkbox.h
@@ -75,10 +75,6 @@ GType       gtk_box_get_type            (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GtkWidget*  gtk_box_new                 (GtkOrientation  orientation,
                                          gint            spacing);
-
-GDK_AVAILABLE_IN_ALL
-void        gtk_box_pack_start          (GtkBox         *box,
-                                         GtkWidget      *child);
 GDK_AVAILABLE_IN_ALL
 void        gtk_box_set_homogeneous     (GtkBox         *box,
                                          gboolean        homogeneous);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]