]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkinfobar.c
GtkWidget::draw() - Document how to get the dirty region
[~andy/gtk] / gtk / gtkinfobar.c
index 6b74e31b0d6c44d057b8259ad21311e0fd4d144d..a3a877da23b9f36321f402626085d7002c65d727 100644 (file)
@@ -145,6 +145,10 @@ enum
 
 static guint signals[LAST_SIGNAL];
 
+#define ACTION_AREA_DEFAULT_BORDER 5
+#define ACTION_AREA_DEFAULT_SPACING 6
+#define CONTENT_AREA_DEFAULT_BORDER 8
+#define CONTENT_AREA_DEFAULT_SPACING 16
 
 static void     gtk_info_bar_set_property (GObject        *object,
                                            guint           prop_id,
@@ -467,7 +471,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
                                                              P_("Width of border around the content area"),
                                                              0,
                                                              G_MAXINT,
-                                                             8,
+                                                             CONTENT_AREA_DEFAULT_BORDER,
                                                              GTK_PARAM_READABLE));
 
   /**
@@ -485,7 +489,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
                                                              P_("Spacing between elements of the area"),
                                                              0,
                                                              G_MAXINT,
-                                                             16,
+                                                             CONTENT_AREA_DEFAULT_SPACING,
                                                              GTK_PARAM_READABLE));
 
   /**
@@ -502,7 +506,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
                                                              P_("Spacing between buttons"),
                                                              0,
                                                              G_MAXINT,
-                                                             6,
+                                                             ACTION_AREA_DEFAULT_SPACING,
                                                              GTK_PARAM_READABLE));
 
   /**
@@ -519,7 +523,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
                                                              P_("Width of border around the action area"),
                                                              0,
                                                              G_MAXINT,
-                                                             5,
+                                                             ACTION_AREA_DEFAULT_BORDER,
                                                              GTK_PARAM_READABLE));
 
   binding_set = gtk_binding_set_by_class (klass);
@@ -557,6 +561,12 @@ gtk_info_bar_init (GtkInfoBar *info_bar)
   info_bar->priv->content_area = content_area;
   info_bar->priv->action_area = action_area;
 
+  /* set default spacings */
+  gtk_box_set_spacing (GTK_BOX (info_bar->priv->action_area), ACTION_AREA_DEFAULT_SPACING);
+  gtk_container_set_border_width (GTK_CONTAINER (info_bar->priv->action_area), ACTION_AREA_DEFAULT_BORDER);
+  gtk_box_set_spacing (GTK_BOX (info_bar->priv->content_area), CONTENT_AREA_DEFAULT_SPACING);
+  gtk_container_set_border_width (GTK_CONTAINER (info_bar->priv->content_area), CONTENT_AREA_DEFAULT_BORDER);
+
   /* message-type is a CONSTRUCT property, so we init to a value
    * different from its default to trigger its property setter
    * during construction */
@@ -1002,10 +1012,11 @@ gtk_info_bar_buildable_custom_tag_start (GtkBuildable  *buildable,
 {
   ActionWidgetsSubParserData *parser_data;
 
-  if (child)
-    return FALSE;
+  if (parent_buildable_iface->custom_tag_start (buildable, builder, child,
+                                                tagname, parser, data))
+    return TRUE;
 
-  if (strcmp (tagname, "action-widgets") == 0)
+  if (!child && strcmp (tagname, "action-widgets") == 0)
     {
       parser_data = g_slice_new0 (ActionWidgetsSubParserData);
       parser_data->info_bar = GTK_INFO_BAR (buildable);
@@ -1016,8 +1027,7 @@ gtk_info_bar_buildable_custom_tag_start (GtkBuildable  *buildable,
       return TRUE;
     }
 
-  return parent_buildable_iface->custom_tag_start (buildable, builder, child,
-                                                   tagname, parser, data);
+  return FALSE;
 }
 
 static void