[gtk/a11y-fixes: 11/12] infobar: Implement forall



commit 769dae2c71e0bbead834178f3584abbebc29a5b7
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Feb 6 18:03:28 2020 -0500

    infobar: Implement forall
    
    As a container, that is what you have to do.

 gtk/gtkinfobar.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
---
diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c
index a7b902cf17..5cfb54430e 100644
--- a/gtk/gtkinfobar.c
+++ b/gtk/gtkinfobar.c
@@ -51,6 +51,8 @@
 #include "gtkbinlayout.h"
 #include "gtkgestureclick.h"
 
+#include "a11y/gtkcontaineraccessibleprivate.h"
+
 /**
  * SECTION:gtkinfobar
  * @short_description: Report important messages to the user
@@ -351,6 +353,18 @@ gtk_info_bar_remove (GtkContainer *container,
   gtk_container_remove (GTK_CONTAINER (priv->content_area), child);
 }
 
+static void
+gtk_info_bar_forall (GtkContainer *container,
+                     GtkCallback   callback,
+                     gpointer      user_data)
+{
+  GtkInfoBar *self = GTK_INFO_BAR (container);
+  GtkInfoBarPrivate *priv = gtk_info_bar_get_instance_private (self);
+
+  if (priv->revealer)
+    (*callback) (priv->revealer, user_data);
+}
+
 static void
 gtk_info_bar_dispose (GObject *object)
 {
@@ -380,6 +394,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass)
 
   container_class->add = gtk_info_bar_add;
   container_class->remove = gtk_info_bar_remove;
+  container_class->forall = gtk_info_bar_forall;
 
   klass->close = gtk_info_bar_close;
 


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