[gtk/issue-1863: 3/3] Make get_layout_manager_type() public



commit fe473dbef8fd3ba174ef50ad4e79c92df63eeb3b
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Mon May 6 12:15:21 2019 +0100

    Make get_layout_manager_type() public
    
    The inspector, and other tools introspecting the widget structure like
    gtk-builder-tool and Glade, may very well want to access the default
    layout manager used by a class, especially if there are layout
    properties involved, without having a whitelist of widget/layout manager
    associations.

 gtk/gtkwidget.c | 14 +++++++++++---
 gtk/gtkwidget.h |  2 ++
 2 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index f456f19306..4eedd5a96c 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -707,8 +707,6 @@ static void gtk_widget_update_input_shape (GtkWidget *widget);
 
 static gboolean gtk_widget_class_get_visible_by_default (GtkWidgetClass *widget_class);
 
-static GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class);
-
 static void remove_parent_surface_transform_changed_listener (GtkWidget *widget);
 static void add_parent_surface_transform_changed_listener (GtkWidget *widget);
 
@@ -13607,7 +13605,17 @@ gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class,
   priv->layout_manager_type = type;
 }
 
-static GType
+/**
+ * gtk_widget_class_get_layout_manager_type:
+ * @widget_class: a #GtkWidgetClass
+ *
+ * Retrieves the type of the #GtkLayoutManager used by the #GtkWidget class.
+ *
+ * See also: gtk_widget_class_set_layout_manager_type()
+ *
+ * Returns: a #GtkLayoutManager subclass, or %G_TYPE_INVALID
+ */
+GType
 gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class)
 {
   GtkWidgetClassPrivate *priv;
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index e93a40c743..42a8021e8f 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -417,6 +417,8 @@ GtkLayoutManager *      gtk_widget_get_layout_manager   (GtkWidget        *widge
 GDK_AVAILABLE_IN_ALL
 void                    gtk_widget_class_set_layout_manager_type        (GtkWidgetClass *widget_class,
                                                                          GType           type);
+GDK_AVAILABLE_IN_ALL
+GType                   gtk_widget_class_get_layout_manager_type        (GtkWidgetClass *widget_class);
 
 GDK_AVAILABLE_IN_ALL
 void       gtk_widget_add_accelerator     (GtkWidget           *widget,


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