SearchBar.handleEvent

bool handleEvent(gdk.event.Event event)

This function should be called when the top-level window which contains the search bar received a key event.

If the key event is handled by the search bar, the bar will be shown, the entry populated with the entered text and [gdk.types.EVENT_STOP] will be returned. The caller should ensure that events are not propagated further.

If no entry has been connected to the search bar, using [gtk.search_bar.SearchBar.connectEntry], this function will return immediately with a warning.

Showing the search bar on key presses

static gboolean
on_key_press_event (GtkWidget *widget,
                   GdkEvent  *event,
                   gpointer   user_data)
{
 GtkSearchBar *bar = GTK_SEARCH_BAR (user_data);
 return gtk_search_bar_handle_event (bar, event);
}

static void
create_toplevel (void)
{
 GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 GtkWindow *search_bar = gtk_search_bar_new ();

// Add more widgets to the window...

 g_signal_connect (window,
                  "key-press-event",
                   G_CALLBACK (on_key_press_event),
                   search_bar);
}

Parameters

eventa #GdkEvent containing key press events

Returns

[gdk.types.EVENT_STOP] if the key press event resulted

in text being entered in the search entry (and revealing the search bar if necessary), [gdk.types.EVENT_PROPAGATE] otherwise.