[gtk/wip/baedert/box2: 8/12] dialog: Expose the content area as a separate GtkBox child



commit f14d9ff9b38722af3fb341da1abac74969cf0c33
Author: Timm Bäder <mail baedert org>
Date:   Wed Dec 26 09:00:08 2018 +0100

    dialog: Expose the content area as a separate GtkBox child
    
    This way, the "vbox" internal child does not contain anything by
    default. It previously did contain "internal" widgetry like the action
    area.

 demos/widget-factory/widget-factory.ui |  6 +++---
 gtk/gtkdialog.c                        |  6 +++---
 gtk/ui/gtkaboutdialog.ui               |  4 ++--
 gtk/ui/gtkdialog.ui                    | 10 +++++++++-
 gtk/ui/gtkfilechooserdialog.ui         |  4 ++--
 gtk/ui/gtkmessagedialog.ui             |  2 +-
 6 files changed, 20 insertions(+), 12 deletions(-)
---
diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui
index d1ad3ffaff..4363d5a954 100644
--- a/demos/widget-factory/widget-factory.ui
+++ b/demos/widget-factory/widget-factory.ui
@@ -3283,7 +3283,7 @@ bad things might happen.</property>
     <property name="use-header-bar">1</property>
     <property name="title" translatable="yes">Zelda</property>
     <property name="hide-on-close">1</property>
-    <child internal-child="vbox">
+    <child internal-child="content_area">
       <object class="GtkBox">
         <child>
           <object class="GtkLabel">
@@ -3322,7 +3322,7 @@ bad things might happen.</property>
     <property name="use-header-bar">1</property>
     <property name="title" translatable="yes">Settings</property>
     <property name="hide-on-close">1</property>
-    <child internal-child="vbox">
+    <child internal-child="content_area">
       <object class="GtkBox">
         <child>
           <object class="GtkGrid">
@@ -3443,7 +3443,7 @@ bad things might happen.</property>
     <property name="use-header-bar">1</property>
     <property name="title" translatable="yes">Choose one</property>
     <property name="hide-on-close">1</property>
-    <child internal-child="vbox">
+    <child internal-child="content_area">
       <object class="GtkBox">
         <child>
           <object class="GtkFlowBox" id="selection_flowbox">
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 756446aaa8..0c57ff3e52 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -170,9 +170,9 @@
 
 typedef struct
 {
-  GtkWidget *vbox;
   GtkWidget *headerbar;
   GtkWidget *action_area;
+  GtkWidget *content_area;
   GtkWidget *action_box;
   GtkSizeGroup *size_group;
 
@@ -592,9 +592,9 @@ gtk_dialog_class_init (GtkDialogClass *class)
   /* Bind class to template
    */
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/ui/gtkdialog.ui");
-  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, vbox);
   gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, headerbar);
   gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, action_area);
+  gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, content_area);
   gtk_widget_class_bind_template_child_private (widget_class, GtkDialog, action_box);
 
   gtk_widget_class_set_css_name (widget_class, I_("dialog"));
@@ -1621,5 +1621,5 @@ gtk_dialog_get_content_area (GtkDialog *dialog)
 
   g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
 
-  return priv->vbox;
+  return priv->content_area;
 }
diff --git a/gtk/ui/gtkaboutdialog.ui b/gtk/ui/gtkaboutdialog.ui
index 180151f66e..d6a9fbd016 100644
--- a/gtk/ui/gtkaboutdialog.ui
+++ b/gtk/ui/gtkaboutdialog.ui
@@ -15,8 +15,8 @@
         </child>
       </object>
     </child>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox1">
+    <child internal-child="content_area">
+      <object class="GtkBox">
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <property name="margin">5</property>
diff --git a/gtk/ui/gtkdialog.ui b/gtk/ui/gtkdialog.ui
index d2d2638947..1bd869b6c5 100644
--- a/gtk/ui/gtkdialog.ui
+++ b/gtk/ui/gtkdialog.ui
@@ -10,11 +10,19 @@
       </object>
     </child>
     <child>
-      <object class="GtkBox" id="vbox">
+      <object class="GtkBox">
         <property name="orientation">vertical</property>
         <style>
           <class name="dialog-vbox"/>
         </style>
+
+        <!-- This is empty here and just exists so we can expose it as
+             GtkDialog API. -->
+        <child>
+          <object class="GtkBox" id="content_area">
+          </object>
+        </child>
+
         <child>
           <object class="GtkBox" id="action_box">
             <style>
diff --git a/gtk/ui/gtkfilechooserdialog.ui b/gtk/ui/gtkfilechooserdialog.ui
index 1b37a4ce0e..fac32bca11 100644
--- a/gtk/ui/gtkfilechooserdialog.ui
+++ b/gtk/ui/gtkfilechooserdialog.ui
@@ -6,8 +6,8 @@
     <property name="type-hint">dialog</property>
     <property name="default-width">600</property>
     <signal name="response" handler="response_cb" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox1">
+    <child internal-child="content_area">
+      <object class="GtkBox">
         <property name="orientation">vertical</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
diff --git a/gtk/ui/gtkmessagedialog.ui b/gtk/ui/gtkmessagedialog.ui
index 35834d9d48..7b4588fb80 100644
--- a/gtk/ui/gtkmessagedialog.ui
+++ b/gtk/ui/gtkmessagedialog.ui
@@ -9,7 +9,7 @@
     <child internal-child="headerbar">
       <object class="GtkHeaderBar" id="headerbar1"/>
     </child>
-    <child internal-child="vbox">
+    <child internal-child="content_area">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="orientation">vertical</property>
         <property name="spacing">20</property>


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