widget: Add private accessor to event controllers

This commit is contained in:
Emmanuele Bassi 2020-02-06 14:21:10 +00:00 committed by Matthias Clasen
parent 1df0a5eab5
commit 7ca4a94768
2 changed files with 21 additions and 0 deletions

View File

@ -12023,6 +12023,24 @@ gtk_widget_reset_controllers (GtkWidget *widget)
} }
} }
GList *
gtk_widget_list_controllers (GtkWidget *widget,
GtkPropagationPhase phase)
{
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
GList *res = NULL, *l;
for (l = priv->event_controllers; l; l = l->next)
{
GtkEventController *controller = l->data;
if (gtk_event_controller_get_propagation_phase (controller) == phase)
res = g_list_prepend (res, controller);
}
return g_list_reverse (res);
}
static inline void static inline void
gtk_widget_maybe_add_debug_render_nodes (GtkWidget *widget, gtk_widget_maybe_add_debug_render_nodes (GtkWidget *widget,
GtkSnapshot *snapshot) GtkSnapshot *snapshot)

View File

@ -302,6 +302,9 @@ gboolean gtk_widget_has_size_request (GtkWidget *widget);
void gtk_widget_reset_controllers (GtkWidget *widget); void gtk_widget_reset_controllers (GtkWidget *widget);
GList * gtk_widget_list_controllers (GtkWidget *widget,
GtkPropagationPhase phase);
gboolean gtk_widget_query_tooltip (GtkWidget *widget, gboolean gtk_widget_query_tooltip (GtkWidget *widget,
gint x, gint x,
gint y, gint y,