Handles key press events.
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_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 [[email protected]_entry], this function will return immediately with a warning.
```c static gboolean on_key_press_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { HdySearchBar *bar = HDY_SEARCH_BAR (user_data); return hdy_search_bar_handle_event (self, event); }
static void create_toplevel (void) { GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); GtkWindow *search_bar = hdy_search_bar_new ();
// Add more widgets to the window...
g_signal_connect (window, "key-press-event", G_CALLBACK (on_key_press_event), search_bar); } ```
this |
a search bar |
event |
a [[email protected]] containing key press events |
`GDK_EVENT_STOP` if the key press event resulted in text being entered in the search entry (and revealing the search bar if necessary), `GDK_EVENT_PROPAGATE` otherwise. |