Trait gtk::prelude::SearchBarExt
source · [−]pub trait SearchBarExt: 'static {
fn connect_entry(&self, entry: &impl IsA<Entry>);
fn is_search_mode(&self) -> bool;
fn shows_close_button(&self) -> bool;
fn handle_event(&self, event: &Event) -> bool;
fn set_search_mode(&self, search_mode: bool);
fn set_show_close_button(&self, visible: bool);
fn is_search_mode_enabled(&self) -> bool;
fn set_search_mode_enabled(&self, search_mode_enabled: bool);
fn connect_search_mode_enabled_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_show_close_button_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}
Expand description
Required Methods
fn connect_entry(&self, entry: &impl IsA<Entry>)
fn connect_entry(&self, entry: &impl IsA<Entry>)
fn is_search_mode(&self) -> bool
fn is_search_mode(&self) -> bool
fn handle_event(&self, event: &Event) -> bool
fn handle_event(&self, event: &Event) -> bool
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
connect_entry()
, this function will return
immediately with a warning.
Showing the search bar on key presses
⚠️ The following code is in C ⚠️
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);
}
event
a GdkEvent
containing key press events
Returns
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.
fn set_search_mode(&self, search_mode: bool)
fn set_search_mode(&self, search_mode: bool)
Shows or hides the close button. Applications that already have a “search” toggle button should not show a close button in their search bar, as it duplicates the role of the toggle button.
visible
whether the close button will be shown or not