]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkdialog.c
Revert name change
[~andy/gtk] / gtk / gtkdialog.c
index 3ad4299c9889ba30f88525149c01a2d27718db7d..94aaeb3bd3241c68d69f9963972a0592e5ac3d88 100644 (file)
@@ -26,7 +26,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <config.h>
+#include "config.h"
 #include "gtkbutton.h"
 #include "gtkdialog.h"
 #include "gtkhbbox.h"
@@ -256,16 +256,16 @@ gtk_dialog_init (GtkDialog *dialog)
                     "delete_event",
                     G_CALLBACK (gtk_dialog_delete_event_handler),
                     NULL);
-  
+
   dialog->vbox = gtk_vbox_new (FALSE, 0);
-  
+
   gtk_container_add (GTK_CONTAINER (dialog), dialog->vbox);
   gtk_widget_show (dialog->vbox);
 
   dialog->action_area = gtk_hbutton_box_new ();
 
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog->action_area),
-                             GTK_BUTTONBOX_END);  
+                             GTK_BUTTONBOX_END);
 
   gtk_box_pack_end (GTK_BOX (dialog->vbox), dialog->action_area,
                     FALSE, TRUE, 0);
@@ -280,9 +280,12 @@ gtk_dialog_init (GtkDialog *dialog)
   gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT);
 }
 
+static GtkBuildableIface *parent_buildable_iface;
+
 static void
 gtk_dialog_buildable_interface_init (GtkBuildableIface *iface)
 {
+  parent_buildable_iface = g_type_interface_peek_parent (iface);
   iface->get_internal_child = gtk_dialog_buildable_get_internal_child;
   iface->custom_tag_start = gtk_dialog_buildable_custom_tag_start;
   iface->custom_finished = gtk_dialog_buildable_custom_finished;
@@ -298,7 +301,9 @@ gtk_dialog_buildable_get_internal_child (GtkBuildable *buildable,
     else if (strcmp (childname, "action_area") == 0)
       return G_OBJECT (GTK_DIALOG (buildable)->action_area);
 
-    return NULL;
+    return parent_buildable_iface->get_internal_child (buildable,
+                                                      builder,
+                                                      childname);
 }
 
 static void 
@@ -1365,7 +1370,8 @@ gtk_dialog_buildable_custom_tag_start (GtkBuildable  *buildable,
       return TRUE;
     }
 
-  return FALSE;
+  return parent_buildable_iface->custom_tag_start (buildable, builder, child,
+                                                  tagname, parser, data);
 }
 
 static void
@@ -1383,7 +1389,11 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable,
   guint signal_id;
   
   if (strcmp (tagname, "action-widgets"))
+    {
+    parent_buildable_iface->custom_finished (buildable, builder, child,
+                                            tagname, user_data);
     return;
+    }
 
   dialog = GTK_DIALOG (buildable);
   parser_data = (ActionWidgetsSubParserData*)user_data;
@@ -1435,5 +1445,41 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable,
   g_slice_free (ActionWidgetsSubParserData, parser_data);
 }
 
+/**
+ * gtk_dialog_get_action_area:
+ * @dialog: a #GtkDialog
+ *
+ * Returns the action area of @dialog.
+ *
+ * Returns: the action area.
+ *
+ * Since: 2.14
+ **/
+GtkWidget *
+gtk_dialog_get_action_area (GtkDialog *dialog)
+{
+  g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
+
+  return dialog->action_area;
+}
+
+/**
+ * gtk_dialog_get_content_area:
+ * @dialog: a #GtkDialog
+ *
+ * Returns the content area of @dialog.
+ *
+ * Returns: the content area #GtkVBox.
+ *
+ * Since: 2.14
+ **/
+GtkWidget *
+gtk_dialog_get_content_area (GtkDialog *dialog)
+{
+  g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
+
+  return dialog->vbox;
+}
+
 #define __GTK_DIALOG_C__
 #include "gtkaliasdef.c"