summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-02-23 20:27:35 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-02-23 20:27:35 -0500
commit0ead40efa38c05431b88b9b38491adcd09132e61 (patch)
tree2aa3e52b480ade6c6df5a04c741819c4fed9d945
parent581ff10f467e3c832c42730b6fe179e9b5a8f583 (diff)
downloadgtk+-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.c21
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);
}