mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-19 21:40:22 +00:00
testoverlay: Use an event controller
We can stop using ::enter-notify-event here, and use our new motion event controller instead.
This commit is contained in:
parent
96b2b1b2f3
commit
1c3f8ba252
@ -315,8 +315,10 @@ test_builder (void)
|
||||
}
|
||||
|
||||
static void
|
||||
on_enter (GtkWidget *child, GdkEventCrossing *event, GtkWidget *overlay)
|
||||
on_enter (GtkEventController *controller, GtkWidget *overlay)
|
||||
{
|
||||
GtkWidget *child = gtk_event_controller_get_widget (controller);
|
||||
|
||||
if (gtk_widget_get_halign (child) == GTK_ALIGN_START)
|
||||
gtk_widget_set_halign (child, GTK_ALIGN_END);
|
||||
else
|
||||
@ -336,6 +338,7 @@ test_chase (void)
|
||||
GtkTextBuffer *buffer;
|
||||
gchar *contents;
|
||||
gsize len;
|
||||
GtkEventController *controller;
|
||||
|
||||
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (win), "Chase");
|
||||
@ -369,8 +372,10 @@ test_chase (void)
|
||||
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), child);
|
||||
g_object_set (child, "margin", 4, NULL);
|
||||
|
||||
g_signal_connect (child, "enter-notify-event",
|
||||
G_CALLBACK (on_enter), overlay);
|
||||
controller = gtk_event_controller_motion_new (child);
|
||||
g_object_set_data_full (G_OBJECT (child), "motion", controller, g_object_unref);
|
||||
g_signal_connect (controller, "enter", G_CALLBACK (on_enter), overlay);
|
||||
|
||||
return win;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user