[gtk+] Another round of template binding api changes



commit cda60c3c409730aa2f4ad2f5cdd0311fc97d0ee4
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Jul 26 16:29:12 2013 -0400

    Another round of template binding api changes
    
    We rename the gtk_widget_class_bind_template_child{_internal}
    macros by appending a _private to their name. Otherwise, it
    would be too magic to pass the 'public' names as arguments,
    but affect a member of the Private struct. At the same time,
    
    Add two new macros with the old names,
    gtk_widget_class_bind_template_child{_internal} that operate
    on members of the instance struct.

 demos/gtk-demo/listbox.c                |   26 ++++----
 docs/reference/gtk/gtk3-sections.txt    |    6 +-
 examples/application3/exampleappwin.c   |    2 +-
 examples/application4/exampleappwin.c   |    2 +-
 examples/application5/exampleappwin.c   |    2 +-
 examples/application6/exampleappprefs.c |    6 +-
 examples/application6/exampleappwin.c   |    2 +-
 examples/application7/exampleappprefs.c |    6 +-
 examples/application7/exampleappwin.c   |    8 +-
 examples/application8/exampleappprefs.c |    6 +-
 examples/application8/exampleappwin.c   |   14 ++--
 examples/application9/exampleappprefs.c |    6 +-
 examples/application9/exampleappwin.c   |   18 +++---
 gtk/gtkaboutdialog.c                    |   24 +++---
 gtk/gtkappchooserdialog.c               |    8 +-
 gtk/gtkappchooserwidget.c               |   10 ++--
 gtk/gtkassistant.c                      |   22 +++---
 gtk/gtkcolorchooserdialog.c             |    6 +-
 gtk/gtkcoloreditor.c                    |   36 +++++-----
 gtk/gtkdialog.c                         |    4 +-
 gtk/gtkfilechooserbutton.c              |   14 ++--
 gtk/gtkfilechooserdefault.c             |   54 +++++++-------
 gtk/gtkfilechooserdialog.c              |    2 +-
 gtk/gtkfontbutton.c                     |    6 +-
 gtk/gtkfontchooserdialog.c              |    6 +-
 gtk/gtkfontchooserwidget.c              |   22 +++---
 gtk/gtkinfobar.c                        |    6 +-
 gtk/gtklockbutton.c                     |   10 ++--
 gtk/gtkmessagedialog.c                  |    8 +-
 gtk/gtkpagesetupunixdialog.c            |   22 +++---
 gtk/gtkpathbar.c                        |    4 +-
 gtk/gtkprintunixdialog.c                |  118 +++++++++++++++---------------
 gtk/gtkrecentchooserdefault.c           |   18 +++---
 gtk/gtkscalebutton.c                    |   14 ++--
 gtk/gtksearchbar.c                      |    8 +-
 gtk/gtkstatusbar.c                      |    6 +-
 gtk/gtkwidget.c                         |    8 ++-
 gtk/gtkwidget.h                         |   61 ++++++++++++++--
 38 files changed, 327 insertions(+), 274 deletions(-)
---
diff --git a/demos/gtk-demo/listbox.c b/demos/gtk-demo/listbox.c
index 24332d6..d0c9019 100644
--- a/demos/gtk-demo/listbox.c
+++ b/demos/gtk-demo/listbox.c
@@ -253,19 +253,19 @@ gtk_message_row_class_init (GtkMessageRowClass *klass)
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   gtk_widget_class_set_template_from_resource (widget_class, "/listbox/listbox.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, content_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, source_name);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, source_nick);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, short_time_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, detailed_time_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, extra_buttons_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, details_revealer);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, avatar_image);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, resent_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, resent_by_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, n_reshares_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, n_favorites_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageRow, expand_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, content_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, source_name);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, source_nick);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, short_time_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, detailed_time_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, extra_buttons_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, details_revealer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, avatar_image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, resent_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, resent_by_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, n_reshares_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, n_favorites_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageRow, expand_button);
   gtk_widget_class_bind_template_callback (widget_class, expand_clicked);
   gtk_widget_class_bind_template_callback (widget_class, reshare_clicked);
   gtk_widget_class_bind_template_callback (widget_class, favorite_clicked);
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index 0b63a19..d5555a2 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -5516,9 +5516,11 @@ gtk_widget_class_set_template_from_resource
 gtk_widget_get_template_child
 gtk_widget_class_bind_template_child
 gtk_widget_class_bind_template_child_internal
+gtk_widget_class_bind_template_child_private
+gtk_widget_class_bind_template_child_internal_private
 gtk_widget_class_bind_template_child_full
-gtk_widget_class_bind_callback
-gtk_widget_class_declare_callback
+gtk_widget_class_bind_template_callback
+gtk_widget_class_bind_template_callback_full
 gtk_widget_class_set_connect_func
 
 <SUBSECTION Standard>
diff --git a/examples/application3/exampleappwin.c b/examples/application3/exampleappwin.c
index 5977ff9..fb23731 100644
--- a/examples/application3/exampleappwin.c
+++ b/examples/application3/exampleappwin.c
@@ -32,7 +32,7 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 {
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
 }
 
 ExampleAppWindow *
diff --git a/examples/application4/exampleappwin.c b/examples/application4/exampleappwin.c
index 5977ff9..fb23731 100644
--- a/examples/application4/exampleappwin.c
+++ b/examples/application4/exampleappwin.c
@@ -32,7 +32,7 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 {
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
 }
 
 ExampleAppWindow *
diff --git a/examples/application5/exampleappwin.c b/examples/application5/exampleappwin.c
index 265238d..5e0471b 100644
--- a/examples/application5/exampleappwin.c
+++ b/examples/application5/exampleappwin.c
@@ -57,7 +57,7 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
 }
 
 ExampleAppWindow *
diff --git a/examples/application6/exampleappprefs.c b/examples/application6/exampleappprefs.c
index 559ab53..dd65699 100644
--- a/examples/application6/exampleappprefs.c
+++ b/examples/application6/exampleappprefs.c
@@ -59,9 +59,9 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
 
         gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                      "/org/gtk/exampleapp/prefs.ui");
-        gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
-        gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
-        gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
+        gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
+        gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
+        gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
 }
 
 ExampleAppPrefs *
diff --git a/examples/application6/exampleappwin.c b/examples/application6/exampleappwin.c
index a36ea29..3f605fe 100644
--- a/examples/application6/exampleappwin.c
+++ b/examples/application6/exampleappwin.c
@@ -54,7 +54,7 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 
         gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                      "/org/gtk/exampleapp/window.ui");
-        gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+        gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
 }
 
 ExampleAppWindow *
diff --git a/examples/application7/exampleappprefs.c b/examples/application7/exampleappprefs.c
index c6d6bd3..bb089e6 100644
--- a/examples/application7/exampleappprefs.c
+++ b/examples/application7/exampleappprefs.c
@@ -63,9 +63,9 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/prefs.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
 }
 
 ExampleAppPrefs *
diff --git a/examples/application7/exampleappwin.c b/examples/application7/exampleappwin.c
index 616bdc8..3df14ad 100644
--- a/examples/application7/exampleappwin.c
+++ b/examples/application7/exampleappwin.c
@@ -116,10 +116,10 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
 }
 
 ExampleAppWindow *
diff --git a/examples/application8/exampleappprefs.c b/examples/application8/exampleappprefs.c
index c6d6bd3..bb089e6 100644
--- a/examples/application8/exampleappprefs.c
+++ b/examples/application8/exampleappprefs.c
@@ -63,9 +63,9 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/prefs.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
 }
 
 ExampleAppPrefs *
diff --git a/examples/application8/exampleappwin.c b/examples/application8/exampleappwin.c
index e640306..ea2303c 100644
--- a/examples/application8/exampleappwin.c
+++ b/examples/application8/exampleappwin.c
@@ -219,13 +219,13 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, gears);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, words);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, sidebar);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, gears);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, words);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, sidebar);
 }
 
 ExampleAppWindow *
diff --git a/examples/application9/exampleappprefs.c b/examples/application9/exampleappprefs.c
index c6d6bd3..bb089e6 100644
--- a/examples/application9/exampleappprefs.c
+++ b/examples/application9/exampleappprefs.c
@@ -63,9 +63,9 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/prefs.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, close);
 }
 
 ExampleAppPrefs *
diff --git a/examples/application9/exampleappwin.c b/examples/application9/exampleappwin.c
index 4edecee..4dfe440 100644
--- a/examples/application9/exampleappwin.c
+++ b/examples/application9/exampleappwin.c
@@ -265,15 +265,15 @@ example_app_window_class_init (ExampleAppWindowClass *class)
 
   gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
                                                "/org/gtk/exampleapp/window.ui");
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, gears);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, words);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, sidebar);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, lines);
-  gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), ExampleAppWindow, lines_label);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, search);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchbar);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, searchentry);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, gears);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, words);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, sidebar);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, lines);
+  gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, lines_label);
 }
 
 ExampleAppWindow *
diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c
index 5076183..7f05f31 100644
--- a/gtk/gtkaboutdialog.c
+++ b/gtk/gtkaboutdialog.c
@@ -557,18 +557,18 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkaboutdialog.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, notebook);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, logo_image);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, name_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, version_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, comments_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, copyright_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, license_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, website_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, credits_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, license_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, credits_grid);
-  gtk_widget_class_bind_template_child (widget_class, GtkAboutDialog, license_view);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, notebook);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, logo_image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, name_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, version_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, comments_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, copyright_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, license_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, website_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, credits_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, license_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, credits_grid);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAboutDialog, license_view);
 
   gtk_widget_class_bind_template_callback (widget_class, credits_button_clicked);
   gtk_widget_class_bind_template_callback (widget_class, license_button_clicked);
diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c
index 835a059..44c43c4 100644
--- a/gtk/gtkappchooserdialog.c
+++ b/gtk/gtkappchooserdialog.c
@@ -660,10 +660,10 @@ gtk_app_chooser_dialog_class_init (GtkAppChooserDialogClass *klass)
   widget_class = GTK_WIDGET_CLASS (klass);
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkappchooserdialog.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserDialog, label);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserDialog, button);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserDialog, show_more_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserDialog, inner_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserDialog, label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserDialog, button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserDialog, show_more_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserDialog, inner_box);
   gtk_widget_class_bind_template_callback (widget_class, show_more_button_clicked_cb);
 }
 
diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c
index db498f2..1db2d58 100644
--- a/gtk/gtkappchooserwidget.c
+++ b/gtk/gtkappchooserwidget.c
@@ -1086,11 +1086,11 @@ gtk_app_chooser_widget_class_init (GtkAppChooserWidgetClass *klass)
   widget_class = GTK_WIDGET_CLASS (klass);
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkappchooserwidget.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserWidget, program_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserWidget, program_list_store);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserWidget, column);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserWidget, padding_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkAppChooserWidget, secondary_padding);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserWidget, program_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserWidget, program_list_store);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserWidget, column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserWidget, padding_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAppChooserWidget, secondary_padding);
   gtk_widget_class_bind_template_callback (widget_class, refresh_and_emit_app_selected);
   gtk_widget_class_bind_template_callback (widget_class, program_list_selection_activated);
   gtk_widget_class_bind_template_callback (widget_class, widget_button_press_event_cb);
diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c
index 5aea138..2e77f1c 100644
--- a/gtk/gtkassistant.c
+++ b/gtk/gtkassistant.c
@@ -431,17 +431,17 @@ gtk_assistant_class_init (GtkAssistantClass *class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkassistant.ui");
 
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkAssistant, action_area);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, content);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, cancel);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, forward);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, back);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, apply);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, close);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, last);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, sidebar);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, button_size_group);
-  gtk_widget_class_bind_template_child (widget_class, GtkAssistant, title_size_group);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkAssistant, action_area);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, content);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, cancel);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, forward);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, back);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, apply);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, close);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, last);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, sidebar);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, button_size_group);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkAssistant, title_size_group);
 
   gtk_widget_class_bind_template_callback (widget_class, assistant_sidebar_draw_cb);
   gtk_widget_class_bind_template_callback (widget_class, assistant_remove_page_cb);
diff --git a/gtk/gtkcolorchooserdialog.c b/gtk/gtkcolorchooserdialog.c
index ff51e41..1998cbd 100644
--- a/gtk/gtkcolorchooserdialog.c
+++ b/gtk/gtkcolorchooserdialog.c
@@ -202,9 +202,9 @@ gtk_color_chooser_dialog_class_init (GtkColorChooserDialogClass *class)
    */
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkcolorchooserdialog.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkColorChooserDialog, chooser);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorChooserDialog, cancel_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorChooserDialog, select_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorChooserDialog, chooser);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorChooserDialog, cancel_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorChooserDialog, select_button);
   gtk_widget_class_bind_template_callback (widget_class, selected_cb);
   gtk_widget_class_bind_template_callback (widget_class, propagate_notify);
   gtk_widget_class_bind_template_callback (widget_class, color_activated_cb);
diff --git a/gtk/gtkcoloreditor.c b/gtk/gtkcoloreditor.c
index 5faa536..5258a18 100644
--- a/gtk/gtkcoloreditor.c
+++ b/gtk/gtkcoloreditor.c
@@ -464,24 +464,24 @@ gtk_color_editor_class_init (GtkColorEditorClass *class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkcoloreditor.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, overlay);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, grid);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, swatch);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, h_slider);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, h_popup);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, h_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, a_slider);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, a_popup);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, a_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, sv_plane);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, sv_popup);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, s_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, v_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, h_adj);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, s_adj);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, v_adj);
-  gtk_widget_class_bind_template_child (widget_class, GtkColorEditor, a_adj);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, overlay);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, grid);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, swatch);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, h_slider);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, h_popup);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, h_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, a_slider);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, a_popup);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, a_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, sv_plane);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, sv_popup);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, s_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, v_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, h_adj);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, s_adj);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, v_adj);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkColorEditor, a_adj);
 
   gtk_widget_class_bind_template_callback (widget_class, hsv_changed);
   gtk_widget_class_bind_template_callback (widget_class, popup_draw);
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 1ef6a0b..4de0c90 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -331,8 +331,8 @@ gtk_dialog_class_init (GtkDialogClass *class)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkdialog.ui");
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkDialog, vbox);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkDialog, action_area);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, vbox);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, action_area);
   gtk_widget_class_bind_template_callback (widget_class, gtk_dialog_delete_event_handler);
 }
 
diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c
index 2510575..81551f7 100644
--- a/gtk/gtkfilechooserbutton.c
+++ b/gtk/gtkfilechooserbutton.c
@@ -472,13 +472,13 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkfilechooserbutton.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, model);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, button);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, image);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, combo_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, icon_cell);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserButton, name_cell);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, model);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, combo_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, icon_cell);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserButton, name_cell);
 
   gtk_widget_class_bind_template_callback (widget_class, button_clicked_cb);
   gtk_widget_class_bind_template_callback (widget_class, combo_box_changed_cb);
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index fb768af..ffd4fc3 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -7464,33 +7464,33 @@ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
                                               "/org/gtk/libgtk/gtkfilechooserdefault.ui");
 
   /* A *lot* of widgets that we need to handle .... */
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_widgets_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_widgets_hpaned);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_header_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_widgets_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, places_sidebar);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_files_tree_view);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_new_folder_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_path_bar_hbox);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_path_bar_size_group);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_path_bar);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_special_mode_icon);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_special_mode_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, 
browse_select_a_folder_info_bar);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_select_a_folder_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, browse_select_a_folder_icon);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, filter_combo_hbox);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, filter_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, preview_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, extra_align);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, location_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, location_entry_box);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, location_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, list_name_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, list_pixbuf_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, list_name_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, list_mtime_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDefault, list_size_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_widgets_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_widgets_hpaned);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_header_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_widgets_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, places_sidebar);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_files_tree_view);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_new_folder_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_path_bar_hbox);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_path_bar_size_group);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, browse_path_bar);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_special_mode_icon);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_special_mode_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_select_a_folder_info_bar);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_select_a_folder_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, 
browse_select_a_folder_icon);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, filter_combo_hbox);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, filter_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, preview_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, extra_align);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, location_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, location_entry_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, location_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, list_name_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, list_pixbuf_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, list_name_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, list_mtime_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDefault, list_size_column);
 
   /* And a *lot* of callbacks to bind ... */
   gtk_widget_class_bind_template_callback (widget_class, browse_files_key_press_event_cb);
diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c
index e079e49..f1169f7 100644
--- a/gtk/gtkfilechooserdialog.c
+++ b/gtk/gtkfilechooserdialog.c
@@ -248,7 +248,7 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkfilechooserdialog.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkFileChooserDialog, widget);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, widget);
   gtk_widget_class_bind_template_callback (widget_class, response_cb);
   gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_file_activated);
   gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_default_size_changed);
diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c
index fc79480..953cb0f 100644
--- a/gtk/gtkfontbutton.c
+++ b/gtk/gtkfontbutton.c
@@ -545,9 +545,9 @@ gtk_font_button_class_init (GtkFontButtonClass *klass)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkfontbutton.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkFontButton, font_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontButton, size_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontButton, font_size_box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontButton, font_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontButton, size_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontButton, font_size_box);
 }
 
 static void
diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c
index a29211d..8627fe5 100644
--- a/gtk/gtkfontchooserdialog.c
+++ b/gtk/gtkfontchooserdialog.c
@@ -136,9 +136,9 @@ gtk_font_chooser_dialog_class_init (GtkFontChooserDialogClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkfontchooserdialog.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, fontchooser);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, select_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, cancel_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, fontchooser);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, select_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, cancel_button);
   gtk_widget_class_bind_template_callback (widget_class, font_activated_cb);
 }
 
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index e9be535..6cce746 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -482,17 +482,17 @@ gtk_font_chooser_widget_class_init (GtkFontChooserWidgetClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkfontchooserwidget.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, search_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, family_face_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, family_face_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, family_face_cell);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, list_scrolled_window);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, list_notebook);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, model);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, filter_model);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, preview);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, size_spin);
-  gtk_widget_class_bind_template_child (widget_class, GtkFontChooserWidget, size_slider);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, search_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, family_face_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, family_face_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, family_face_cell);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, list_scrolled_window);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, list_notebook);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, model);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, filter_model);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, preview);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, size_spin);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserWidget, size_slider);
 
   gtk_widget_class_bind_template_callback (widget_class, text_changed_cb);
   gtk_widget_class_bind_template_callback (widget_class, cursor_changed_cb);
diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c
index 0caa312..776adc0 100644
--- a/gtk/gtkinfobar.c
+++ b/gtk/gtkinfobar.c
@@ -546,9 +546,9 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkinfobar.ui");
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkInfoBar, content_area);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkInfoBar, action_area);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkInfoBar, close_button);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkInfoBar, content_area);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkInfoBar, action_area);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkInfoBar, close_button);
 }
 
 static void
diff --git a/gtk/gtklockbutton.c b/gtk/gtklockbutton.c
index f22c5ed..dbd2fb6 100644
--- a/gtk/gtklockbutton.c
+++ b/gtk/gtklockbutton.c
@@ -307,11 +307,11 @@ gtk_lock_button_class_init (GtkLockButtonClass *klass)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtklockbutton.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkLockButton, box);
-  gtk_widget_class_bind_template_child (widget_class, GtkLockButton, image);
-  gtk_widget_class_bind_template_child (widget_class, GtkLockButton, label_lock);
-  gtk_widget_class_bind_template_child (widget_class, GtkLockButton, label_unlock);
-  gtk_widget_class_bind_template_child (widget_class, GtkLockButton, label_group);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkLockButton, box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkLockButton, image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkLockButton, label_lock);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkLockButton, label_unlock);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkLockButton, label_group);
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LOCK_BUTTON_ACCESSIBLE);
 }
diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c
index 74562fb..9dfd7ec 100644
--- a/gtk/gtkmessagedialog.c
+++ b/gtk/gtkmessagedialog.c
@@ -295,10 +295,10 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
 
   /* Setup Composite data */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkmessagedialog.ui");
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageDialog, image);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageDialog, label);
-  gtk_widget_class_bind_template_child (widget_class, GtkMessageDialog, secondary_label);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkMessageDialog, message_area);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkMessageDialog, secondary_label);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkMessageDialog, message_area);
 }
 
 static void
diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c
index 2f937fa..f4c06d6 100644
--- a/gtk/gtkpagesetupunixdialog.c
+++ b/gtk/gtkpagesetupunixdialog.c
@@ -162,17 +162,17 @@ gtk_page_setup_unix_dialog_class_init (GtkPageSetupUnixDialogClass *class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkpagesetupunixdialog.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, printer_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, page_setup_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, custom_paper_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, printer_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, paper_size_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, paper_size_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, paper_size_cell);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, portrait_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, reverse_portrait_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, landscape_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPageSetupUnixDialog, reverse_landscape_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, printer_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, page_setup_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, custom_paper_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, printer_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, paper_size_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, paper_size_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, paper_size_cell);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, portrait_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, 
reverse_portrait_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, landscape_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPageSetupUnixDialog, 
reverse_landscape_radio);
 
   gtk_widget_class_bind_template_callback (widget_class, printer_changed_callback);
   gtk_widget_class_bind_template_callback (widget_class, paper_size_changed);
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c
index e307321..93e9552 100644
--- a/gtk/gtkpathbar.c
+++ b/gtk/gtkpathbar.c
@@ -259,8 +259,8 @@ gtk_path_bar_class_init (GtkPathBarClass *path_bar_class)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkpathbar.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkPathBar, up_slider_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkPathBar, down_slider_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPathBar, up_slider_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPathBar, down_slider_button);
 
   gtk_widget_class_bind_template_callback (widget_class, gtk_path_bar_slider_button_press);
   gtk_widget_class_bind_template_callback (widget_class, gtk_path_bar_slider_button_release);
diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c
index a2ae8a2..7e74a00 100644
--- a/gtk/gtkprintunixdialog.c
+++ b/gtk/gtkprintunixdialog.c
@@ -480,69 +480,69 @@ gtk_print_unix_dialog_class_init (GtkPrintUnixDialogClass *class)
                                               "/org/gtk/libgtk/gtkprintunixdialog.ui");
 
   /* GtkTreeView / GtkTreeModel */
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_treeview);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_list_filter);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, page_setup_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, custom_paper_list);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_icon_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_name_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_location_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_status_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_icon_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_name_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_location_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, printer_status_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_treeview);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_list_filter);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, page_setup_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, custom_paper_list);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_icon_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_name_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_location_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_status_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_icon_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_name_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_location_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, printer_status_renderer);
 
   /* General Widgetry */
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, notebook);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, all_pages_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, all_pages_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, current_page_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, selection_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, range_table);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, page_range_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, page_range_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, copies_spin);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, collate_check);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, reverse_check);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, collate_image);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, page_layout_preview);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, scale_spin);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, page_set_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, print_now_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, print_at_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, print_at_entry);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, print_hold_radio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, preview_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, paper_size_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, paper_size_combo_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, paper_size_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, orientation_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, orientation_combo_label);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, conflicts_widget);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, job_page);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, finishing_table);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, finishing_page);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, image_quality_table);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, image_quality_page);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, color_table);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, color_page);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, advanced_vbox);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, advanced_page);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, extension_point);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, notebook);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, all_pages_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, all_pages_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, current_page_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, selection_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, range_table);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, page_range_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, page_range_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, copies_spin);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, collate_check);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, reverse_check);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, collate_image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, page_layout_preview);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, scale_spin);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, page_set_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, print_now_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, print_at_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, print_at_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, print_hold_radio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, preview_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, paper_size_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, paper_size_combo_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, paper_size_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, orientation_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, orientation_combo_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, conflicts_widget);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, job_page);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, finishing_table);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, finishing_page);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, image_quality_table);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, image_quality_page);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, color_table);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, color_page);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, advanced_vbox);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, advanced_page);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, extension_point);
 
   /* GtkPrinterOptionWidgets... */
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, pages_per_sheet);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, duplex);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, paper_type);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, paper_source);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, output_tray);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, job_prio);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, billing_info);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, cover_before);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, cover_after);
-  gtk_widget_class_bind_template_child (widget_class, GtkPrintUnixDialog, number_up_layout);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, pages_per_sheet);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, duplex);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, paper_type);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, paper_source);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, output_tray);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, job_prio);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, billing_info);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, cover_before);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, cover_after);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkPrintUnixDialog, number_up_layout);
 
   /* Callbacks handled in the UI */
   gtk_widget_class_bind_template_callback (widget_class, gtk_print_unix_dialog_destroy);
diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c
index 30dd640..16dbb17 100644
--- a/gtk/gtkrecentchooserdefault.c
+++ b/gtk/gtkrecentchooserdefault.c
@@ -348,15 +348,15 @@ _gtk_recent_chooser_default_class_init (GtkRecentChooserDefaultClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkrecentchooserdefault.ui");
 
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, filter_combo_hbox);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, filter_combo);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, recent_view);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, recent_store);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, icon_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, meta_column);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, icon_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, meta_renderer);
-  gtk_widget_class_bind_template_child (widget_class, GtkRecentChooserDefault, selection);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, filter_combo_hbox);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, filter_combo);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, recent_view);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, recent_store);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, icon_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, meta_column);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, icon_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, meta_renderer);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkRecentChooserDefault, selection);
 
   gtk_widget_class_bind_template_callback (widget_class, selection_changed_cb);
   gtk_widget_class_bind_template_callback (widget_class, row_activated_cb);
diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c
index 6db5e68..1208b04 100644
--- a/gtk/gtkscalebutton.c
+++ b/gtk/gtkscalebutton.c
@@ -360,13 +360,13 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class,
                                               "/org/gtk/libgtk/gtkscalebutton.ui");
 
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkScaleButton, plus_button);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkScaleButton, minus_button);
-  gtk_widget_class_bind_template_child (widget_class, GtkScaleButton, dock);
-  gtk_widget_class_bind_template_child (widget_class, GtkScaleButton, box);
-  gtk_widget_class_bind_template_child (widget_class, GtkScaleButton, scale);
-  gtk_widget_class_bind_template_child (widget_class, GtkScaleButton, image);
-  gtk_widget_class_bind_template_child (widget_class, GtkScaleButton, adjustment);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkScaleButton, plus_button);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkScaleButton, minus_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkScaleButton, dock);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkScaleButton, box);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkScaleButton, scale);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkScaleButton, image);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkScaleButton, adjustment);
 
   gtk_widget_class_bind_template_callback (widget_class, cb_dock_button_press);
   gtk_widget_class_bind_template_callback (widget_class, cb_dock_key_release);
diff --git a/gtk/gtksearchbar.c b/gtk/gtksearchbar.c
index 762c121..c0039ff 100644
--- a/gtk/gtksearchbar.c
+++ b/gtk/gtksearchbar.c
@@ -413,10 +413,10 @@ gtk_search_bar_class_init (GtkSearchBarClass *klass)
   g_object_class_install_properties (object_class, LAST_PROPERTY, widget_props);
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtksearchbar.ui");
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkSearchBar, toolbar);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkSearchBar, revealer);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkSearchBar, box_center);
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkSearchBar, close_button);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkSearchBar, toolbar);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkSearchBar, revealer);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkSearchBar, box_center);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkSearchBar, close_button);
 }
 
 static void
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index de1ef5e..e2e423c 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -180,9 +180,9 @@ gtk_statusbar_class_init (GtkStatusbarClass *class)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/gtkstatusbar.ui");
-  gtk_widget_class_bind_template_child_internal (widget_class, GtkStatusbar, message_area);
-  gtk_widget_class_bind_template_child (widget_class, GtkStatusbar, frame);
-  gtk_widget_class_bind_template_child (widget_class, GtkStatusbar, label);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkStatusbar, message_area);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkStatusbar, frame);
+  gtk_widget_class_bind_template_child_private (widget_class, GtkStatusbar, label);
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_STATUSBAR_ACCESSIBLE);
 }
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index cbc6535..36e3484 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -15907,7 +15907,7 @@ gtk_widget_class_set_connect_func (GtkWidgetClass        *widget_class,
 }
 
 /**
- * gtk_widget_class_bind_template_child_full:
+ * gtk_widget_class_bind_template_child_private_full:
  * @widget_class: A #GtkWidgetClass
  * @name: The "id" of the child defined in the template XML
  * @internal_child: Whether the child should be accessible as an "internal-child"
@@ -15931,6 +15931,10 @@ gtk_widget_class_set_connect_func (GtkWidgetClass        *widget_class,
  * If @internal_child is specified, #GtkBuildableIface.get_internal_child() will be automatically
  * implemented by the #GtkWidget class so there is no need to implement it manually.
  *
+ * The wrapper macros gtk_widget_class_bind_template_child(), 
gtk_widget_class_bind_template_child_internal(),
+ * gtk_widget_class_bind_template_child_private() and gtk_widget_class_bind_private_template_child_internal()
+ * might be more convenient to use.
+ *
  * <note><para>This must be called from a composite widget classes class
  * initializer after calling gtk_widget_class_set_template()</para></note>
  *
@@ -15963,7 +15967,7 @@ gtk_widget_class_bind_template_child_full (GtkWidgetClass *widget_class,
  *
  * Fetch an object build from the template XML for @widget_type in this @widget instance.
  *
- * This will only report children which were previously declared with 
gtk_widget_class_bind_template_child_full() or one of its variants.
+ * This will only report children which were previously declared with 
gtk_widget_class_bind_template_child_private_full() or one of its variants.
  *
  * This function is only meant to be called for code which is private to the @widget_type which
  * declared the child and is meant for language bindings which cannot easily make use
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index c5d4f92..4c893c1 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -1180,8 +1180,7 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  * gtk_widget_class_bind_template_child:
  * @widget_class: a #GtkWidgetClass
  * @TypeName: the type name of this widget
- * @member_name: name of the instance private member on the
- *    private struct for @data_type
+ * @member_name: name of the instance member in the instance struct for @data_type
  *
  * Binds a child widget defined in a template to the @widget_class.
  *
@@ -1189,8 +1188,7 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  * gtk_widget_class_bind_template_child_full() function.
  *
  * This macro will use the offset of the @member_name inside the @TypeName
- * private data structure (it uses G_PRIVATE_OFFSET(), so the private struct
- * must be added with G_ADD_PRIVATE()).
+ * instance structure.
  *
  * Since: 3.10
  */
@@ -1198,13 +1196,37 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
   gtk_widget_class_bind_template_child_full (widget_class, \
                                              #member_name, \
                                              FALSE, \
-                                             G_PRIVATE_OFFSET (TypeName, member_name))
+                                             G_STRUCT_OFFSET (TypeName, member_name))
 
 /**
  * gtk_widget_class_bind_template_child_internal:
  * @widget_class: a #GtkWidgetClass
  * @TypeName: the type name, in CamelCase
- * @member_name: name of the instance private member on @private_data_type
+ * @member_name: name of the instance member in the instance struct for @data_type
+ *
+ * Binds a child widget defined in a template to the @widget_class, and
+ * also makes it available as an internal child in GtkBuilder, under the
+ * name @member_name.
+ *
+ * This macro is a convenience wrapper around the
+ * gtk_widget_class_bind_template_child_full() function.
+ *
+ * This macro will use the offset of the @member_name inside the @TypeName
+ * instance structure.
+ *
+ * Since: 3.10
+ */
+#define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name) \
+  gtk_widget_class_bind_template_child_full (widget_class, \
+                                             #member_name, \
+                                             TRUE, \
+                                             G_STRUCT_OFFSET (TypeName, member_name))
+
+/**
+ * gtk_widget_class_bind_template_child_private:
+ * @widget_class: a #GtkWidgetClass
+ * @TypeName: the type name of this widget
+ * @member_name: name of the instance private member in the private struct for @data_type
  *
  * Binds a child widget defined in a template to the @widget_class.
  *
@@ -1212,11 +1234,36 @@ void gtk_widget_remove_tick_callback (GtkWidget       *widget,
  * gtk_widget_class_bind_template_child_full() function.
  *
  * This macro will use the offset of the @member_name inside the @TypeName
+ * private data structure (it uses G_PRIVATE_OFFSET(), so the private struct
+ * must be added with G_ADD_PRIVATE()).
+ *
+ * Since: 3.10
+ */
+#define gtk_widget_class_bind_template_child_private(widget_class, TypeName, member_name) \
+  gtk_widget_class_bind_template_child_full (widget_class, \
+                                             #member_name, \
+                                             FALSE, \
+                                             G_PRIVATE_OFFSET (TypeName, member_name))
+
+/**
+ * gtk_widget_class_bind_template_child_internal_private:
+ * @widget_class: a #GtkWidgetClass
+ * @TypeName: the type name, in CamelCase
+ * @member_name: name of the instance private member on the private struct for @data_type
+ *
+ * Binds a child widget defined in a template to the @widget_class, and
+ * also makes it available as an internal child in GtkBuilder, under the
+ * name @member_name.
+ *
+ * This macro is a convenience wrapper around the
+ * gtk_widget_class_bind_template_child_full() function.
+ *
+ * This macro will use the offset of the @member_name inside the @TypeName
  * private data structure.
  *
  * Since: 3.10
  */
-#define gtk_widget_class_bind_template_child_internal(widget_class, TypeName, member_name) \
+#define gtk_widget_class_bind_template_child_internal_private(widget_class, TypeName, member_name) \
   gtk_widget_class_bind_template_child_full (widget_class, \
                                              #member_name, \
                                              TRUE, \


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