diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-02-23 20:27:35 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-02-23 20:27:35 -0500 |
commit | 0ead40efa38c05431b88b9b38491adcd09132e61 (patch) | |
tree | 2aa3e52b480ade6c6df5a04c741819c4fed9d945 | |
parent | 581ff10f467e3c832c42730b6fe179e9b5a8f583 (diff) | |
download | gtk+-popover-attach.tar.gz |
gtk-demo: Fix the popover demopopover-attach
Use GtkPopoverHolder here to fix things up.
-rw-r--r-- | demos/gtk-demo/popover.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/demos/gtk-demo/popover.c b/demos/gtk-demo/popover.c index 2d5c44cf59..a2834cde52 100644 --- a/demos/gtk-demo/popover.c +++ b/demos/gtk-demo/popover.c @@ -100,6 +100,7 @@ day_selected_cb (GtkCalendar *calendar, GdkEvent *event; gdouble x, y; GtkWidget *widget; + GtkPopoverHolder *holder = GTK_POPOVER_HOLDER (user_data); event = gtk_get_current_event (); @@ -114,7 +115,7 @@ day_selected_cb (GtkCalendar *calendar, &rect.x, &rect.y); rect.width = rect.height = 1; - popover = create_popover (GTK_WIDGET (calendar), + popover = create_popover (GTK_WIDGET (holder), gtk_entry_new (), GTK_POS_BOTTOM); gtk_popover_set_pointing_to (GTK_POPOVER (popover), &rect); @@ -129,6 +130,8 @@ do_popover (GtkWidget *do_widget) { static GtkWidget *window = NULL; GtkWidget *popover, *box, *widget; + GtkWidget *entry; + GtkWidget *calendar; if (!window) { @@ -150,11 +153,13 @@ do_popover (GtkWidget *do_widget) G_CALLBACK (toggle_changed_cb), popover); gtk_container_add (GTK_CONTAINER (box), widget); - widget = gtk_entry_new (); + entry = gtk_entry_new (); + widget = gtk_popover_holder_new (); + gtk_popover_holder_set_child (GTK_POPOVER_HOLDER (widget), entry); popover = create_complex_popover (widget, GTK_POS_TOP); - gtk_entry_set_icon_from_icon_name (GTK_ENTRY (widget), + gtk_entry_set_icon_from_icon_name (GTK_ENTRY (entry), GTK_ENTRY_ICON_PRIMARY, "edit-find"); - gtk_entry_set_icon_from_icon_name (GTK_ENTRY (widget), + gtk_entry_set_icon_from_icon_name (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, "edit-clear"); g_signal_connect (widget, "icon-press", @@ -163,9 +168,11 @@ do_popover (GtkWidget *do_widget) G_CALLBACK (entry_size_allocate_cb), popover); gtk_container_add (GTK_CONTAINER (box), widget); - widget = gtk_calendar_new (); - g_signal_connect (widget, "day-selected", - G_CALLBACK (day_selected_cb), NULL); + calendar = gtk_calendar_new (); + widget = gtk_popover_holder_new (); + gtk_popover_holder_set_child (GTK_POPOVER_HOLDER (widget), calendar); + g_signal_connect (calendar, "day-selected", + G_CALLBACK (day_selected_cb), widget); gtk_container_add (GTK_CONTAINER (box), widget); } |