1 | #include <gtk/gtk.h> |
2 | |
3 | static void |
4 | activate_cb (GtkApplication *app, |
5 | gpointer user_data) |
6 | { |
7 | GtkWidget *window; |
8 | GtkWidget *search_bar; |
9 | GtkWidget *box; |
10 | GtkWidget *entry; |
11 | GtkWidget *; |
12 | |
13 | window = gtk_application_window_new (application: app); |
14 | gtk_widget_show (widget: window); |
15 | |
16 | search_bar = gtk_search_bar_new (); |
17 | gtk_widget_set_valign (widget: search_bar, align: GTK_ALIGN_START); |
18 | gtk_window_set_child (GTK_WINDOW (window), child: search_bar); |
19 | gtk_widget_show (widget: search_bar); |
20 | |
21 | box = gtk_box_new (orientation: GTK_ORIENTATION_HORIZONTAL, spacing: 6); |
22 | gtk_search_bar_set_child (GTK_SEARCH_BAR (search_bar), child: box); |
23 | |
24 | entry = gtk_search_entry_new (); |
25 | gtk_widget_set_hexpand (widget: entry, TRUE); |
26 | gtk_box_append (GTK_BOX (box), child: entry); |
27 | |
28 | menu_button = gtk_menu_button_new (); |
29 | gtk_box_append (GTK_BOX (box), child: menu_button); |
30 | |
31 | gtk_search_bar_connect_entry (GTK_SEARCH_BAR (search_bar), GTK_EDITABLE (entry)); |
32 | gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (search_bar), widget: window); |
33 | } |
34 | |
35 | int |
36 | main (int argc, |
37 | char *argv[]) |
38 | { |
39 | GtkApplication *app; |
40 | |
41 | app = gtk_application_new (application_id: "org.gtk.Example.GtkSearchBar" , |
42 | flags: G_APPLICATION_FLAGS_NONE); |
43 | g_signal_connect (app, "activate" , |
44 | G_CALLBACK (activate_cb), NULL); |
45 | |
46 | return g_application_run (G_APPLICATION (app), argc, argv); |
47 | } |
48 | |